在包含特定字符串类别的列表中添加浮点数

时间:2017-08-27 00:25:11

标签: python

如何将连接到包含字符串和浮点数的列表中的特定类别字符串的浮点值相加?

例如,在下面的例子中,我如何总结' CategoryA'?

的值
List = [('CategoryA', 6.03), ('CategoryA', 14.97), ('CategoryA', 1.00), ('CategoryX', 4.32), ('CategoryD', 3.60)]

3 个答案:

答案 0 :(得分:3)

你可以通过使用像这样的求和函数来实现这个目的:

sumfora = sum(x[1] for x in List if x[0] == 'CategoryA')

答案 1 :(得分:1)

tot_sum = 0
for category, val in List:
   if(category == "Category A"):
      tot_sum += val

这将为您提供变量Listtot_sum中A类的总和。

答案 2 :(得分:0)

您也可以使用pandas:

>>> import pandas as pd
>>> df = pd.DataFrame(List, columns=['Category', 'Value'])
>>> df
    Category  Value
0  CategoryA   6.03
1  CategoryA  14.97
2  CategoryA   1.00
3  CategoryX   4.32
4  CategoryD   3.60
>>> df[df['Category'] == 'CategoryA']['Value'].sum()
22.0

或者,如果您想查看每个类别的总和:

>>> df.groupby('Category')['Value'].sum()
Category
CategoryA    22.00
CategoryD     3.60
CategoryX     4.32
Name: Value, dtype: float64