熊猫数据框中的列的总和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了熊猫数据框中的列的总和相关的知识,希望对你有一定的参考价值。

COVID-19跟踪项目(API在here中进行了描述)提供了有关大流行病许多方面的数据。 JSON的每一行都是一种状态的一天数据。正如许多人所知,大流行病对不同州的打击方式有所不同-纽约及其邻国首先受到的打击最大,而其他州随后受到打击。这是数据的子集:

date,state,positive,negative
20200505,AK,371,22321
20200505,CA,56212,723690
20200505,NY,321192,707707
20200505,WY,596,10319
20200504,AK,370,21353
20200504,CA,54937,692937
20200504,NY,318953,688357
20200504,WY,586,9868
20200503,AK,368,21210
20200503,CA,53616,662135
20200503,NY,316415,669496
20200503,WY,579,9640
20200502,AK,365,21034
20200502,CA,52197,634606
20200502,NY,312977,646094
20200502,WY,566,9463

要获取整个数据集,我正在这样做:

import pandas as pd
all_states = pd.read_json("https://covidtracking.com/api/v1/states/daily.json")

我希望能够通过累加一列的值来汇总数据,但仅限于某些状态;然后针对之前未包含的状态添加同一列。我能够做到这一点,例如:

not_NY = all_states[all_states['state'] != 'NY'].groupby(['date'], as_index = False).hospitalizedCurrently.sum()

这将从all_states创建一个新的数据框,并按日期分组,并对所有非“ NY”的状态求和。不过,我想做的是排除multiple状态,并使用类似“不在”功能的东西(这不起作用):

not_tristate = all_states[all_states['state'] not in ['NY','NJ','CT']].groupby(['date'], as_index = False).hospitalizedCurrently.sum()

有没有办法做到这一点?我尝试的另一种方法是创建一个新的数据框作为数据透视表,每个日期一行,每个状态一行,如下所示:

pivot_states = all_states.pivot_table(index = 'gooddate', columns = 'state', values = 'hospitalizedCurrently', aggfunc='sum')

但这仍然使我只能通过汇总一些列来创建新列。在SQL中,我将解决以下问题:

SELECT all_states.Date AS [Date], Sum(IIf([all_states]![state] In ("NY","NJ","CT"),[all_states]![hospitalizedCurrently],0)) AS tristate, Sum(IIf([all_states]![state] Not In ("NY","NJ","CT"),[all_states]![hospitalizedCurrently],0)) AS not_tristate
FROM all_states
GROUP BY all_states.Date
ORDER BY all_states.Date;

我正在寻找的最终结果是这样的(使用上面的示例数据并在“正”列上加总,“ NY”代表“ tristate”):

date,not_tristate,tristate
20200502,53128,312977,366105
20200503,54563,316415,370978
20200504,55893,318953,374846
20200505,57179,321192,378371

欢迎任何帮助。

答案

您可以通过使用带有isin符号的isin来排除多个状态值:

NOT(~)

以上是关于熊猫数据框中的列的总和的主要内容,如果未能解决你的问题,请参考以下文章

如何根据列的值对熊猫数据框中的列进行分类?

熊猫数据框中的列级解析

将熊猫数据框中的列向上移动一位?

如何使用熊猫数据框中的列标记气泡图/散点图?

确定熊猫数据框中的列值何时更改

多级熊猫数据框中的总和列