我如何使用 pandas 将列中的匹配值转换为字典
how can i convert matching values from columns into a dictionary using pandas
我有一个 pandas 数据框,如下所示:
v_id
r_id
count
222
1
1000
222
2
1500
222
9
600
33
1
7000
555
1
6000
555
5
60
555
7
2300
如何将其转换为以下新的 table :
v_id
data
222
{ 2 : 1500 , 1 : 1000 , 9 : 600 }
33
{ 1 : 7000 }
555
{ 1 : 6000 , 7 : 2300 , 5 : 60 }
请注意字典中的值是按降序排列的。
数据集有5000个值,我还没想出解决办法。非常感谢任何帮助。谢谢。
设置索引并使用groupby
df.set_index('r_id').groupby('v_id')['count'].agg(dict)
v_id
33 {1: 7000}
222 {1: 1000, 2: 1500, 9: 600}
555 {1: 6000, 5: 60, 7: 2300}
Name: count, dtype: object
我有一个 pandas 数据框,如下所示:
v_id | r_id | count |
---|---|---|
222 | 1 | 1000 |
222 | 2 | 1500 |
222 | 9 | 600 |
33 | 1 | 7000 |
555 | 1 | 6000 |
555 | 5 | 60 |
555 | 7 | 2300 |
如何将其转换为以下新的 table :
v_id | data |
---|---|
222 | { 2 : 1500 , 1 : 1000 , 9 : 600 } |
33 | { 1 : 7000 } |
555 | { 1 : 6000 , 7 : 2300 , 5 : 60 } |
请注意字典中的值是按降序排列的。
数据集有5000个值,我还没想出解决办法。非常感谢任何帮助。谢谢。
设置索引并使用groupby
df.set_index('r_id').groupby('v_id')['count'].agg(dict)
v_id
33 {1: 7000}
222 {1: 1000, 2: 1500, 9: 600}
555 {1: 6000, 5: 60, 7: 2300}
Name: count, dtype: object