【发布时间】:2017-04-14 05:45:56
【问题描述】:
我有一个看起来像这样的数据:-
data = {"doc1" : {'a': 2 , 'b': 1,'c':3}, "doc2" : {'a': 1 , 'b': 1,'c':3}, "doc3" : {'a': 1 , 'b': 1,'c':3}}
我将其转换为数据框:-
df = pd.DataFrame.from_dict(data,orient='index')
数据框看起来像这样:-
a c b
doc1 2 3 1
doc2 1 3 1
doc3 1 3 1
现在我想对 b 列中的所有值求和,其中 a 列的值为 1。
所以我想要的值是 2。
有没有一种简单的方法来做到这一点,而不是遍历两列? 我查了其他帖子,发现this :-
这利用了 .loc 函数。
df.loc[df['a'] == 1, 'b'].sum()
但由于某种原因,我似乎无法使用我的数据框。
请告诉我。
谢谢。
【问题讨论】:
-
“但由于某种原因,我似乎无法让它与我的数据框一起工作。”您能否详细描述“某种原因”?您找到的答案应该有效。
-
嘿,我让它与下面的答案一起工作。但我的代码也在做同样的事情。只有我弄乱了变量。因此,它失败了。非常感谢!
标签: python pandas dataframe col