gpt4 book ai didi

python - csv 数据操作以保持和比较每个类的大

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

我正在尝试更改一段代码以执行以下操作。

在每个数据类(column1)中将重量转换为磅。计算每个数据类的最大权重。并且对于数据类的每一行,计算分配给该行中的人的权重与他们的类(dataclass)中最大的权重之间的差异,并将其附加到新列。

这可能是一个相对简单的操作,但我不知道如何在内存中为每个数据类保留每个较大的权重。我的代码可以将重量转换为磅,但这要简单得多,因为我可以直接逐行循环遍历 csv,不需要记住数据类的先前数据。

一个示例 csv 数据集:

data,dataclass1,8-10,data,data
data,dataclass1,9-06,data,data
data,dataclass1,10-00,data,data
data,dataclass1,14-10,data,data
data,dataclass1,12-10,data,data
data,dataclass1,8-11,data,data
data,dataclass1,16-10,data,data
data,dataclass1,20-10,data,data
data,dataclass1,18-10,data,data
data,dataclass2,20-10,data,data
data,dataclass2,8-10,data,data
data,dataclass2,9-06,data,data
data,dataclass2,10-00,data,data
data,dataclass2,14-10,data,data
data,dataclass2,12-10,data,data
data,dataclass2,18-10,data,data
data,dataclass2,8-11,data,data
data,dataclass2,10-00,data,data
data,dataclass2,14-10,data,data
data,dataclass2,12-10,data,data
data,dataclass3,12-10,data,data
data,dataclass3,18-10,data,data
data,dataclass3,8-11,data,data
data,dataclass3,10-00,data,data
data,dataclass3,14-10,data,data
data,dataclass3,12-10,data,data
data,dataclass3,18-10,data,data
data,dataclass3,8-11,data,data
data,dataclass3,10-00,data,data
data,dataclass3,14-10,data,data

我必须将带连字符的重量转换为磅的代码:

import csv

with open('sample.csv') as f:
with open('new_file.txt', 'w') as w:
c = [r for r in csv.reader(f, delimiter=',')]
data = [
item[0] * 14 + item[1] for item in
[map(int, row[2].split('-', 1)) for row in c]
]
for line, d in zip(c, data):
for l in line:
w.writelines(str(l) + ',')
w.writelines(str(d))
w.writelines('\n')

最佳答案

你可以很容易地使用字典。

weightDict = dict()
for line in open("filename").readlines():
items=line.split(",")
c = items[1]
if c not in weightDict.keys():
weightDict[c] = []
weightDict[c].append(convertToPounds(items[2])) #call your conversion function here

for c in weightDict.keys(): #loop over all classes seen
print("class: " + c + "max: " + str(max(weightDict[c])) #calls max function on all weights for this class

此函数打印类及其最大权重,但您可以编写它们或通过修改最后一个循环来做任何您喜欢的事情。

关于python - csv 数据操作以保持和比较每个类的大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969008/

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