gpt4 book ai didi

python - (python) 如果条件成立,则在连续行中添加元素

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

我有一个包含“N”行和“3”列的列表。如果连续行的前两个元素相同,那么我想在第三列中添加元素并返回添加了“第三列”值的一行。

例如

120.638000      -21.541700      0.3  
120.638000 -21.541700 0.8
121.331001 -21.795500 0.5
120.688004 -21.587400 0.1
120.688004 -21.587400 0.5
120.688004 -21.587400 0.9
121.525002 -21.504200 0.9

120.638000      -21.541700      1.1  (add third column of row 1 and 2)       
121.331001 -21.795500 0.5
120.688004 -21.587400 1.5 (sum(0.1,0.5,0.9))
121.525002 -21.504200 0.9

对于在 python 中实现这个有什么建议吗?

最佳答案

您可以使用 csvreader 读取您的数据,然后您可以使用 defaultdict 根据 column1,2 中的相同元组对 column3 求和:

from collections import defaultdict
from csv import csvreader

result = defaultdict(float)
with open("<datafile>") as f:
data = csvreader(f, delimiter='\t')
for a,b,c in data:
result[(a,b)] += float(c)

for (a,b),c in result.items():
print(a, b, c)

这不一定会以相同的顺序出现,因为字典没有排序。

关于python - (python) 如果条件成立,则在连续行中添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29981651/

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