给定一个 Pandas df:
Name V1 V2
a 1 2
a 3 4
a 5 6
b 7 8
b 9 10
c 11 12
...
如何将其改造成复杂的格式字典:
{a: [(1,2), (3,4), (5,6)], b: [(7,8), (9,10)], c: [(11,12)], ...}
请注意,同名的值也需要跨行组合;就像“a”有三行要组合成一个数字对的信号值数组。
最佳答案
尝试:
df['tup'] = df[['V1','V2']].agg(tuple, axis=1)
df.groupby('Name')['tup'].agg(list).to_dict()
输出:
{'a': [(1, 2), (3, 4), (5, 6)], 'b': [(7, 8), (9, 10)], 'c': [(11, 12)]}
关于python - 将多列和多行组合为字典中的单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727022/