【发布时间】:2021-04-20 21:47:13
【问题描述】:
我正在尝试填充列 num_crimes。由于邮政编码在房屋数据框中重复,我只想从包含每个邮政编码的所有犯罪的字典中添加与该邮政编码相关的犯罪数量。
房屋数据框包含 5000 个条目,而字典仅包含 67 个,所以我不能只合并它们。
这是房屋数据框:
sold_price | zipcode | fireplaces | num_crimes
5300000 | 85637 | 6 | NaN
4200000 | 85646 | 5 | NaN
4200000 | 85646 | 5 | NaN
4500000 | 85646 | 6 | NaN
3411450 | 85750 | 4 | NaN
这是字典:
{85141: 1,85601: 2, 85607: 1, 85614: 4, 85622: 2, 85629: 4, 85634: 1....}
问题:这是我使用的代码,但它不会改变 num_crimes 中的值:
def populate(df1):
for row, rows in df1.iterrows():
if rows[1] in my_dict:
rows[3]=my_dict[rows[1]]
else:
rows[3]=0
【问题讨论】:
-
rows对象不会是副本而不是引用 .object。更简单的方法是将您的字典加载到数据框中并执行merge。将您的数据粘贴为文本而不是图像 -
我修复了数据问题。我不能只是合并,因为房屋数据框有 5000 个数据点,而我的字典只有 67 个数据点。
标签: pandas dictionary append iteration