我有一个包含 3 列 id1、id2、call_freq 的 pandas 数据框,其中数据为以下形式
输入:
id1 id2 call_frequency
1 1 2
1 1 3
1 1 3
1 1 3
1 1 3
1 2 5
1 2 5
1 2 4
2 1 9
2 2 6
2 2 6
2 2 7
2 2 7
2 2 7
2 2 7
输出:
call_frequency_dict 列应包含带有元素的字典字符串 在 call_frequency 中,id1 和 id2 的组合及其频率作为值。
我尝试搜索但没有找到任何帮助。我怎样才能得到call_frequency_dict?
请您参考如下方法:
我建议使用 value_counts 而不是将这些类型的数据推送到 dict
df.groupby(['id1','id2']).call_frequency.value_counts()
匹配你的输出
import collections
df.groupby(['id1','id2']).call_frequency.agg(collections.Counter).reset_index()
Out[55]:
id1 id2 call_frequency
0 1 1 {2: 1, 3: 4}
1 1 2 {5: 2, 4: 1}
2 2 1 {9: 1}
3 2 2 {6: 2, 7: 4}
