【发布时间】:2021-09-11 12:48:42
【问题描述】:
我有一个包含多个国家/地区的数据框;
Date Qatar Norway . . .
01/01/2004 43 33
.
.
.
31/12/2021 32 32 . . .
我需要每列都是它自己的数据框和数据透视表,这很好,我正在使用以下内容;
Qatar = df[['Date', 'Qatar']]
Qatar['Date']= pd.to_datetime(Qatar['Date'])
Qatar = Qatar.groupby([Qatar.Date.dt.year,Qatar.Date.dt.month]).mean()
Qatar = Qatar.unstack()
Qatar = Qatar/1745
Qatar = Qatar.round()
Cell('Exports_Country','D3').df = Qatar
我有 40 多个国家/地区,有没有什么方法可以在不手动的情况下为国家/地区列表编写以上内容??
我试过这个;
df1 = pd.melt(df, 'Date', var_name='country', value_name='val')
df1['Date']= pd.to_datetime(df1['Date'])
df2 = (df1.groupby(['country', df1.Date.dt.year,df1.Date.dt.month])['val']
.mean()
.unstack()
.div(1745)
.round())
但不幸的是,它提取的原始数据发生了很大变化,因此代码需要足够动态,才能被国家名称引用。
任何帮助表示赞赏!
【问题讨论】:
标签: python pandas dataframe time-series