通过重塑现有数据框来创建新数据框

时间:2017-03-19 21:18:09

标签: python pandas

我是一名蟒蛇初学者。非常感谢有人可以帮助我解决以下问题。我有什么:

>>>df = pd.DataFrame({'2-day-sale' : [4], '3-day sale' : [7],'2-day-volume' : [10],'3-day-volume' : [100]});
>>>output:
      2-day-sale     2-day-volume    3-day-sale   3-day-volume    
 0    4                10            7            100

我想要的是:

        2-day    3-day
sale    4        7
volume  10       100

非常感谢你!

2 个答案:

答案 0 :(得分:0)

以下代码将为您提供所需的输出。但是,我建议您阅读pandas data structures documentation以更好地了解正在发生的事情。

[^\w]

\W的输出:

df_index = ['sale', 'volume']
data = {'2-day': pd.Series([4, 10], index=df_index), 
        '3-day': pd.Series([7, 100], index=df_index)}
df = pd.DataFrame(data)

我希望这能回答你的问题。快乐的编码!

答案 1 :(得分:0)

df.columns = df.columns.str.rsplit('-', n=1, expand=True)
df.squeeze().unstack().T

        2-day  3-day
sale        4      7
volume     10    100

​