gpt4 book ai didi

python - 迭代 Pandas 数据框中的列表并总结其他列

转载 作者:行者123 更新时间:2023-11-30 22:04:49 24 4
gpt4 key购买 nike

对我来说,我有一件棘手的事情要做。

我有一个像这样的 df:

Side_a  childs                             column1
1001 NaN 3
1002 ['1001'] 5
1003 ['1001'] 3
1004 ['1001,'1003'] 6
1005 ['1001', '1002', '1003', '1004'] 13
1006 ['1003', '1004'] 8

我想要创建一个新列,该列对“子”列中出现的所有行的列 1 求和,并拥有列 1 中的值。

Column2 应该是:

side_a          childs                            column1  column2
1001 NaN 3 3
1002 ['1001'] 5 8
1003 ['1001'] 3 6
1004 ['1001','1003'] 6 12
1005 ['1001', '1002', '1003', '1004'] 13 30
1006 ['1003', '1004'] 8 17

说实话,我不知道从哪里开始以及如何开始,所以任何提示都非常受欢迎。

提前致谢

最佳答案

您可以使用 loc 找到属于子项的行。最后,您使用 apply 使用自定义函数聚合列,例如:

def row_agg(row):
column1 = row['column1']
childs = df.loc[row['childs']]['column1'].sum() if isinstance(row['childs'],list) else 0
return column1 + childs

df = df.set_index('Side_a')
df['column2'] = df.apply(row_agg, axis=1)

df

childs column1 column2
Side_a
A NaN 3 3
B [A] 5 8
C [A] 3 6
D [A, C] 6 12
E [A, B, C, D]13 30
F [C, D] 8 17

关于python - 迭代 Pandas 数据框中的列表并总结其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53171853/

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