【发布时间】:2014-11-23 00:12:02
【问题描述】:
我有一个数据框df,其中包含Col 列中的值可以重复的事务。我使用计数器dictionary1 来计算每个Col 值的频率,然后我想对数据的子集运行for 循环并获得值pit。我想创建一个新字典dict1,其中键是来自dictionary1 的键,值是pit 的值。这是我到目前为止的代码:
dictionary1 = Counter(df['Col'])
dict1 = defaultdict(int)
for i in range(len(dictionary1)):
temp = df[df['Col'] == dictionary1.keys()[i]]
b = temp['IsBuy'].sum()
n = temp['IsBuy'].count()
pit = b/n
dict1[dictionary1.keys()[i]] = pit
我的问题是,如何根据dictionary1 的键和pit 的计算得到的值来为dict1 分配键和值。也就是说,上面脚本最后一行代码的正确写法是什么。
谢谢。
【问题讨论】:
标签: python dictionary pandas defaultdict