簡體   English   中英

如何在 Pandas 中使用此 pivot 表僅按國家/地區聚合數據?

[英]How to use this pivot table in Pandas to aggregate data by Country only?

我在 2014-2016 年埃博拉病毒爆發時使用了這個 Kaggle 數據集。

https://www.kaggle.com/imdevskp/ebola-outbreak-20142016-complete-dataset

我想知道如何將 pivot 表與 Pandas 一起使用,並查看每個國家/地區的未確診病例總數(疑似和可能)。 我不知道如何進步,我在索引上有國家和日期。 如果我在索引中只使用 Country,事情就會變得一團糟。

Country Date    Suspected Cases Probable Cases  Confirmed Cases Suspected Deaths    Probable Deaths Confirmed Deaths
0   Guinea  2014-08-29  25.0    141.0   482.0   2.0 141.0   287.0
1   Nigeria 2014-08-29  3.0 1.0 15.0    0.0 1.0 6.0
2   Sierra Leone    2014-08-29  54.0    37.0    935.0   8.0 34.0    380.0
3   Liberia 2014-08-29  382.0   674.0   322.0   168.0   301.0   225.0
4   Sierra Leone    2014-09-05  78.0    37.0    1146.0  11.0    37.0    443.0
... ... ... ... ... ... ... ... ...
2480    Liberia 2016-03-23  5636.0  1879.0  3151.0  NaN NaN NaN
2481    Italy   2016-03-23  0.0 0.0 1.0 NaN NaN NaN
2482    Liberia 2016-03-23  0.0 3.0 2.0 NaN 3.0 1.0
2483    Nigeria 2016-03-23  0.0 1.0 19.0    0.0 1.0 7.0
2484    United States of America    2016-03-23  0.0 0.0 4.0 0.0 0.0 1.0
2485 rows × 8 columns

我應該如何更改 pivot 表,以便我只能看到每個國家/地區的可能病例和疑似病例的總價值? 我想有效地忽略日期。

table = pd.pivot_table(df, index=['Country', 'Date'], columns=None, values=['Probable Cases', 'Suspected Cases'], aggfunc={
    'Suspected Cases' : 'sum',
    'Probable Cases' : 'sum'
})
    Probable Cases  Suspected Cases
Country Date        
Guinea  2014-08-29  141.0   25.0
2014-09-05  152.0   56.0
2014-09-08  151.0   47.0
2014-09-12  151.0   32.0
2014-09-16  162.0   31.0
... ... ... ...
United States of America    2015-12-17  0.0 0.0
2015-12-22  0.0 0.0
2015-12-23  0.0 0.0
2015-12-29  0.0 0.0
2016-03-23  0.0 0.0
2379 rows × 2 columns

如果要忽略日期,請從pd.pivot_table的索引參數中省略“日期”

另外,我認為您不需要 pivot 表。 您只需要按國家/地區分組,然后在 .agg 方法中指定要求和的列。

df.groupby('Country').agg({'COL1': 'sum', 'COL2': 'sum'})

改變:

index=['Country', 'Date']

至:

index='Country'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM