gpt4 book ai didi

python - Pandas - 快速创建列和行组之外的字典

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:42 25 4
gpt4 key购买 nike

我正在尝试从值组中快速制作字典,其中字典中的每个元素都有来自与该值关联的其他两个列的键值对。例如:

我的数据:

                 cheese               x               y
1 0000000000000005559 1 2
2 0000000000000005559 2 2
3 0000000000000004058 3 5
4 0000000000000004058 4 5
5 0000000000000004058 5 5

期望的输出:

cheese
0000000000000005559 {1: 2, 2: 2}
0000000000000004058 {3: 5, 4: 5, 5: 5}
0000000000000007157 {6: 7, 7: 7}
0000000000000000815 {8: 10, 9: 10, 10: 10}
0000000000000009160 {11: 12, 12: 12}

我可以使用过于复杂的 lambdaapply 来做到这一点,但是对于更大的数据帧(数百万个唯一分组的顺序)来说,这真的很慢。我怎样才能快速实现这一目标?

最佳答案

一种使用defaultdict
的方法这应该很快

from collections import defaultdict

d = defaultdict(dict)

es = df.epoch.values.tolist()
xs = df.x.values.tolist()
ys = df.y.values.tolist()

for e, x, y in zip(es, xs, ys):
d[e][x] = y

pd.Series(d)

1505339100449045559 {1: 2, 2: 2}
1505339102148504058 {3: 5, 4: 5, 5: 5}
dtype: object

关于python - Pandas - 快速创建列和行组之外的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com