如果另一列包含值,则计数

时间:2016-07-02 12:39:49

标签: python pandas sumifs

我有一个包含两列的CSV文件:

fruits   values
bananas       2
apples        5
oranges       4
pineapples    2

如果values有"苹果"我想总结fruits在里面。它应该返回5 + 2 = 7。

我试过了:

sum= 0
if folha['fruits'].str.contains("apples"):
    sum=sum+folha['values'].sum()

但它返回错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这非常简单:

In [10]: df
Out[10]: 
       fruits  values
0     bananas       2
1      apples       5
2     oranges       4
3  pineapples       2

In [11]: df[df.fruits.str.contains('apples')]['values'].sum()
Out[11]: 7
相关问题