gpt4 book ai didi

python - 如何取消透视多列数据?

转载 作者:行者123 更新时间:2023-12-05 06:59:33 24 4
gpt4 key购买 nike

我正在尝试对列进行逆透视并从 Pandas 数据框中获取 1 个属性和 2 个值,有人可以帮我解决这个问题吗?

原始数据:

 id Jan-Value1 Jan-Value2 Feb-Value1 Feb-Value2
1 1 10 2 15
2 0 5 3 20

期望输出:

 id Month Value1 Value2
1 Jan 1 10
1 Feb 2 15
2 Jan 0 5
2 Feb 3 20

最佳答案

一种可能的方法是使用 MultiIndexstack .对于此解决方案,我假设 id 是数据帧的索引:

#df.set_index('id',inplace=True)  #set 'id' as index

#creating a Multiindex using existing columns
df.columns = df.columns.str.split('-', expand=True).swaplevel(0,1)

#stacking the dataframe
df = df.stack().reset_index()

#renaming the column
df.rename(columns={'level_1':'Month'},inplace=True)
print(df)

输出:

   id Month  Value1  Value2
0 1 Feb 2 15
1 1 Jan 1 10
2 2 Feb 3 20
3 2 Jan 0 5

关于python - 如何取消透视多列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64396914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com