gpt4 book ai didi

python - 如何查找 pandas DataFrame 中所有行的字典总和?

转载 作者:行者123 更新时间:2023-12-01 01:31:06 25 4
gpt4 key购买 nike

我有一个数据框

df = pd.DataFrame({'keywords': [{'a': 3, 'b': 4, 'c': 5}, {'c':1, 'd':2}, {'a':5, 'c':21, 'd':4}, {'b':2, 'c':1, 'g':1, 'h':1, 'i':1}]})

我想在所有行中添加所有元素,从而在不使用 iterrows 的情况下给出结果:

a: 8
b: 6
c: 28
d: 6
g: 1
h: 1
i: 1

注意:原始 DataFrame 中的单行中没有元素出现两次。

最佳答案

使用collections.Counter ,您可以对 Counter 对象的可迭代对象进行sum。由于 Counterdict 的子类,因此您可以将数据提供给 pd.DataFrame.from_dict .

from collections import Counter

counts = sum(map(Counter, df['keywords']), Counter())
res = pd.DataFrame.from_dict(counts, orient='index')

print(res)

0
a 8
b 6
c 28
d 6
g 1
h 1
i 1

关于python - 如何查找 pandas DataFrame 中所有行的字典总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855168/

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