gpt4 book ai didi

python - 对数据框 pandas 的列中存在的列表执行计算

转载 作者:行者123 更新时间:2023-12-01 01:46:51 30 4
gpt4 key购买 nike

我有以下数据框:

    Position        A           B   
0 29644164 71.0 [31, 38, 1, 1]
1 45861974 45.0 [17, 26, 1, 1]
2 58142396 69.0 [37, 31, 0, 1]
3 41223046 75.0 [21, 53, 0, 1]

我想对 B 列进行计算。我想将最后 2 个位置的 2 个数字相加,然后将它们除以所有 4 个数字的总和。然后,将结果添加到新列“calc”

所以我期望的数据框将是:

     Position        A           B          calc
0 29644164 71.0 [3, 5, 1, 1] 0.2
1 45861974 45.0 [2, 2, 1, 1] 0.333
2 58142396 69.0 [3, 7, 0, 1] 0.1
3 41223046 75.0 [3, 2, 0, 1] 0.2

我该怎么做?

最佳答案

使用列表理解:

df['calc'] = [sum(x[-2:]) / sum(x) for x in df.B]
print (df)
Position A B calc
0 29644164 71.0 [31, 38, 1, 1] 0.028169
1 45861974 45.0 [17, 26, 1, 1] 0.044444
2 58142396 69.0 [37, 31, 0, 1] 0.014493
3 41223046 75.0 [21, 53, 0, 1] 0.013333

详细信息:

print ([sum(x[-2:]) for x in df.B])
[2, 2, 1, 1]

print ([sum(x) for x in df.B])
[71, 45, 69, 75]

关于python - 对数据框 pandas 的列中存在的列表执行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51231419/

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