【问题标题】:Calculating sum of a column based on other columns of a dataframe?根据数据框的其他列计算列的总和?
【发布时间】:2019-11-11 17:43:05
【问题描述】:

我正在调整以下代码:

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

如果我想添加另一个名为 city 的列,我应该在哪里更改它?

例如,如果 Range 列的值为 '6-10',那么我想要 Actual 列的总和如上面的代码,但我想调整该代码,以便我还可以过滤 City 列的值是“NY”例如。

谢谢!

【问题讨论】:

  • 将这两个标志与 & 也许结合起来?

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


【解决方案1】:

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

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()

【讨论】:

  • 感谢您展示如何使用query()。我认为它更容易理解!
【解决方案2】:

你可以的

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2021-12-12
    • 2023-03-15
    相关资源
    最近更新 更多