在csv文件python中获取另一列的一列的值

穆罕默德·沙巴兹·汗(Mohammad Shahbaz Khan)

我有这样的csv文件:

ID        Value      Amount 
----      -------    -------
A           3          2
A           4          4
B           3          6
C           5          5
A           3          2
B           10         1

我想通过“ ID”列获取“值”或“金额”列的总和。我想要输出“ A”,它应该给我所有与A均值[3 + 4 + 3]相关的值之和。

我的代码:

import csv
file = open(datafile.csv)
rows=csv.DictReader(file)
summ=0.0
count=0
for r in rows:
  summ=summ+int(r['Value'])
  count=count+1
print "Mean for column Value is: ",(summ/count)
file.close()
姆霍克

您可以使用defaultdictoflist来按ID列对数据进行分组。然后使用sum()产生总计。

from collections import defaultdict

with open('datafile.csv') as f:
    d = defaultdict(list)
    next(f)    # skip first header line
    next(f)    # skip second header line
    for line in f:
        id_, value, amount = line.split()
        d[id_].append((int(value), int(amount)))

# sum and average of column Value by ID
for id_ in d:
    total = sum(t[0] for t in d[id_])
    average = total / float(len(d[id_]))
    print('{}: sum = {}, avg = {:.2f}'.format(id_, total, average))

输入数据的输出:

A:总和= 10,平均= 3.33 
C:总和= 5,平均= 5.00 
B:总和= 13,平均= 6.50

也可以使用标准的Python字典来完成。解决方案非常相似:

with open('datafile.csv') as f:
    d = {}
    next(f)    # skip first header line
    next(f)    # skip second header line
    for line in f:
        id_, value, amount = line.split()
        d[id_] = d.get(id_, []) + [(int(value), int(amount))]

# sum and average of column Value by ID
for id_ in d:
    total = sum(t[0] for t in d[id_])
    average = total / float(len(d[id_]))
    print('{}: sum = {}, avg = {:.2f}'.format(id_, total, average))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何遍历CSV文件并根据另一列的值更新一列中的值

来自分类Dev

在csv文件中搜索列表值并在python中返回另一列值

来自分类Dev

如何从文本文件的一列获取值以获取另一列的值

来自分类Dev

为另一列中的每个值获取一列中相似值的总和

来自分类Dev

在另一列中查找一列的值

来自分类Dev

pandas当另一列与python中的值匹配时,只获取一列的平均值(浮动)值

来自分类Dev

如何使用python从xlsx文件中的另一列中减去一列中的单元格值

来自分类Dev

从csv文件的每一列获取最大值

来自分类Dev

根据一列进行分组,并在另一列中获取总和值

来自分类Dev

如何基于python(pandas,jupyter)中的另一列值获取一列的平均值

来自分类Dev

将CSV文件中的列分组并连接另一列的值

来自分类Dev

如何将列映射到 csv 文件中的另一列值?

来自分类Dev

在另一列中获取最大值行以获得唯一值:python

来自分类Dev

根据第一列从CSV文件中获取唯一列表

来自分类Dev

如何在多个csv文件中获取每一列的唯一值

来自分类Dev

如何在多个csv文件中获取每一列的唯一值

来自分类Dev

与另一列中的值之间

来自分类Dev

循环遍历 csv 文件中的一列以获取请求

来自分类Dev

Python Pandas DataFrame检查一列的值是否在另一列表中

来自分类Dev

如何基于另一列的唯一值获取一列的唯一值

来自分类Dev

pandas np.where根据csv中另一列中的值在另一列中添加值

来自分类Dev

使用python覆盖csv文件中的第一列和最后一列

来自分类Dev

编辑Csv文件中的一列

来自分类Dev

将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

来自分类Dev

查询以获取一列的唯一值并复制另一列的值

来自分类Dev

通过两个文件中另一列中的相应值聚合一列中的值

来自分类Dev

根据另一列的值提取一个 csv 列中的值

来自分类Dev

在python中如何从列中捕获值并在同一csv的另一列中显示

来自分类Dev

如何使用python从csv文件中检索一列?

Related 相关文章

  1. 1

    如何遍历CSV文件并根据另一列的值更新一列中的值

  2. 2

    在csv文件中搜索列表值并在python中返回另一列值

  3. 3

    如何从文本文件的一列获取值以获取另一列的值

  4. 4

    为另一列中的每个值获取一列中相似值的总和

  5. 5

    在另一列中查找一列的值

  6. 6

    pandas当另一列与python中的值匹配时,只获取一列的平均值(浮动)值

  7. 7

    如何使用python从xlsx文件中的另一列中减去一列中的单元格值

  8. 8

    从csv文件的每一列获取最大值

  9. 9

    根据一列进行分组,并在另一列中获取总和值

  10. 10

    如何基于python(pandas,jupyter)中的另一列值获取一列的平均值

  11. 11

    将CSV文件中的列分组并连接另一列的值

  12. 12

    如何将列映射到 csv 文件中的另一列值?

  13. 13

    在另一列中获取最大值行以获得唯一值:python

  14. 14

    根据第一列从CSV文件中获取唯一列表

  15. 15

    如何在多个csv文件中获取每一列的唯一值

  16. 16

    如何在多个csv文件中获取每一列的唯一值

  17. 17

    与另一列中的值之间

  18. 18

    循环遍历 csv 文件中的一列以获取请求

  19. 19

    Python Pandas DataFrame检查一列的值是否在另一列表中

  20. 20

    如何基于另一列的唯一值获取一列的唯一值

  21. 21

    pandas np.where根据csv中另一列中的值在另一列中添加值

  22. 22

    使用python覆盖csv文件中的第一列和最后一列

  23. 23

    编辑Csv文件中的一列

  24. 24

    将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

  25. 25

    查询以获取一列的唯一值并复制另一列的值

  26. 26

    通过两个文件中另一列中的相应值聚合一列中的值

  27. 27

    根据另一列的值提取一个 csv 列中的值

  28. 28

    在python中如何从列中捕获值并在同一csv的另一列中显示

  29. 29

    如何使用python从csv文件中检索一列?

热门标签

归档