【发布时间】:2022-01-13 01:53:37
【问题描述】:
我有一个包含邮政编码的数组,我想用邮政编码和与它们相关的函数的结果构建一个字典。 (基本上,循环转到 DataFrame 并查看每个邮政编码有多少不同的 'CouncilArea')。
这是我尝试过的 for 循环:
for cps in codigos_postales:
codigo_postal_council = {}
codigo_postal_council[cps] = pd.notna(pd.unique(data[data['Postcode']==cps]['CouncilArea'])).sum()
问题是在输出中我没有得到包含邮政编码和结果的完整字典。我只得到数组的最后一项和函数的结果作为输出。
{3793.0: 0}
我知道我编写的函数工作正常,因为如果我在循环中包含此代码,我会得到很长的打印结果。
print(pd.notna(pd.unique(data[data['Postcode']==cps]['CouncilArea'])).sum())
我已经在网上搜索了大约一个小时,但仍未找到解决方案。 非常感谢您的支持!!!
【问题讨论】:
-
for cps in codigos_postales: data[data['Postcode']==cps]['CouncilArea']使用某种groupby会快得多。 -
谢谢,会调查的! :)
标签: python-3.x pandas function dictionary for-loop