使用 for 循环和函数创建字典

Posted

技术标签:

【中文标题】使用 for 循环和函数创建字典【英文标题】:Create a dictionary using a for loop and a function 【发布时间】: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 会快得多。 谢谢,会调查的! :) 【参考方案1】:

更多循环外的dict创建

codigo_postal_council =  
for cps in codigos_postales:
    codigo_postal_council[cps] = pd.notna(pd.unique(data[data['Postcode']==cps]['CouncilArea'])).sum()

【讨论】:

就是这样,它现在可以正常工作了!!非常感谢您的回复:)

以上是关于使用 for 循环和函数创建字典的主要内容,如果未能解决你的问题,请参考以下文章

python中for循环的用法

Python - 尝试通过 for 循环创建字典

在for循环中排除字典中的项目,并在字典中使用if和 else。

如何将创建多个字典的 for 循环的输出加入/合并到一个大字典中

使用 for 循环遍历 Python 字典的 3 种方法 !

蓝桥杯python之for循环(一)