2017-08-27 7 views
-1

文字列と浮動小数点数を含むリスト内の特定のカテゴリ文字列に浮動小数点値をどのようにして追加できますか?特定の文字列カテゴリを含むリスト内で浮動小数点数を加算する

たとえば、以下の例では、「CategoryA」の値をどのように合計しますか?

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

お試しいただいた内容を表示してください。特に動作しなかったのは何ですか?あなたは[mcve]を提供できますか?残念なことに、より多くの情報があれば、この質問は広範に及んでおり、そのように閉じられるでしょう。 –

答えて

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

これはあなたの変数tot_sumListでカテゴリーAの合計を与えるだろう。

3

あなたはとてもようにSUM関数を使用することによって、これを達成することができます:

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

また、このためにパンダを使用することができます。

>>> 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 
関連する問題