所以,我有一个csv文件如下:[较小的样本]

value,variable
320,1
272,1
284,1
544,2
568,2
544,2
316,3
558,3
542,3
260,4
266,4
710,4
272,5
290,5
558,5
416,6
782,6
626,6

我的目标是找到每个grouping的最高平均值。因此,在这种情况下,grouping 6是最高的。有了这些信息,我就会制作一个新的专栏,将grouping 6与其他所有人进行比较。 像这样:

320,1,1
272,1,1
284,1,1
544,2,1
568,2,1
544,2,1
316,3,1
558,3,1
542,3,1
260,4,1
266,4,1
710,4,1
272,5,1
290,5,1
558,5,1
416,6,9
782,6,9
626,6,9

我完全不知道从哪里开始。我最初认为也许我应该将每一行分成一个字典,然后平均每个分组,将一个新密钥作为平均值,然后取所有密钥[平均分组]并检测哪个是最高的。我只是不确定如何将其重新置于CSV中,甚至在保持数据完整性的同时执行此操作。

分析解答

要做这种事情,我建议使用pandas package:

import pandas as pd

# Read your file
data = pd.read_csv("file.csv")

# Get the group means
group_means = data.groupby('variable')['value'].agg('mean') 

# Get the group with highest mean
group_max = group_means.idxmax()

# Add the last column to differentiate the highest mean
data['comparison'] = (data['variable'] == group_max).astype(int)