【发布时间】:2019-12-01 00:29:11
【问题描述】:
所以,我有一个 csv 文件如下:[Smaller Sample]
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
我的目标是找到每个分组的最高平均值。所以,在这种情况下,分组6 是最高的。有了这些信息,我将创建一个新列,将分组 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,甚至在保持数据完整性的同时执行此操作。
【问题讨论】:
-
如何将
9和1派生为第三列的唯一值?你能澄清一下你的比较方法吗? -
它们是任意值,它们只是用来区分分组
1,2,3,4,5和6。因为6在所有分组中具有最高的平均值。如果您需要更多说明,请告诉我。 -
我也不明白你如何计算第三列。你能举个例子说明你如何比较第 6 组和其他组吗?
-
本质上,第三列是哪个组的平均值最高的标识符。也许使用
1和9并不是表达我的问题的最佳方式,但我们的目标是有一个第三列来区分组的最高平均值与其他列。 -
分组是指第二列。它有一个介于 1 到 6 之间的标识符来表示不同的数据集。例如,在此示例中,分组
1的值为320,272,284
标签: python csv sorting average