根据数据帧的其他列计算列的总和?

时间:2019-07-01 02:14:46

标签: python-3.x pandas dataframe data-science data-analysis

我正在调整以下代码:

df.loc[df['Range'] == '6-10','Actual'].sum()

如果我想添加另一列称为“城市”的列,我将在哪里更改它?

例如,如果“范围”列的值是 '6-10' ,则我想要 Actual 列的总和就像上面的代码一样,但是我想对该代码进行调整,以便例如也可以过滤 City 列的值为“ NY”。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以通过两种方式做到这一点:

df.loc[(df['Range'] == '6-10') & (df['City'] == 'NY'),'Actual'].sum()

或其他可能更可扩展的

query_str = "(Range == '6-10') and (City == 'NY')"
df.query(query_str)['Actual'].sum()

答案 1 :(得分:1)

您可以

df.loc[df['Range'].eq('6-10')&df['City'].eq('NY'),'Actual'].sum()