首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用熊猫和枢轴表组织数据

用熊猫和枢轴表组织数据
EN

Stack Overflow用户
提问于 2022-02-14 13:11:50
回答 1查看 23关注 0票数 1

我想修改我的数据,使用熔体和桌子枢轴。

我有这个数据:

代码语言:javascript
运行
复制
df = pd.DataFrame({'Pays': {0: 'France', 1: 'France', 2: 'France'},
                   'Indicateur': {0: 'Internet', 1: 'Pop', 2: 'Eco'},
                   '1990': {0: 1, 1: 2, 2: 3},
                   '1995': {0: 7, 1: 8, 2: 9}})
df

在这里输入图像描述

我用熔盐把列收集成几行:

代码语言:javascript
运行
复制
df = pd.melt(df, id_vars =['Pays','Indicateur'], value_vars =['1990','1995'],
              var_name ='Years', value_name ='valeur')
df

在这里输入图像描述

我把“指南人”的行分成几列:

代码语言:javascript
运行
复制
df2 = df.pivot(columns='Indicateur',values='valeur')
df2

在这里输入图像描述

我希望得到这样的结果:

在这里输入图像描述

你知道怎么做吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-14 13:14:59

首先,如果需要所有年份,在value_varsDataFrame.melt中定义的年份不是必需的:

代码语言:javascript
运行
复制
df = df.melt(id_vars =['Pays','Indicateur'], var_name ='Years', value_name ='valeur')

还需要在index中定义DataFrame.pivot参数,最后通过DataFrame.reset_indexMultiIndex转换为列,然后通过DataFrame.rename_axis删除column name

代码语言:javascript
运行
复制
df2 = (df.pivot(index=['Pays', 'Years'], columns='Indicateur',values='valeur')
         .reset_index()
         .rename_axis(columns=None))
print(df2)
     Pays Years  Eco  Internet  Pop
0  France  1990    3         1    2
1  France  1995    9         7    8

编辑:如果需要相同的格式,如融化的DataFrame:

代码语言:javascript
运行
复制
df1 = df[['Pays','Years']].join(df.set_index('Indicateur', append=True)['valeur'].unstack())

#or using your solution
df1 = df[['Pays','Years']].join(df.pivot(columns='Indicateur',values='valeur'))
print(df1)
     Pays Years  Eco  Internet  Pop
0  France  1990  NaN       1.0  NaN
1  France  1990  NaN       NaN  2.0
2  France  1990  3.0       NaN  NaN
3  France  1995  NaN       7.0  NaN
4  France  1995  NaN       NaN  8.0
5  France  1995  9.0       NaN  NaN
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71112465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档