Python Pandas Dataframe—减少列数(解构数据)

Python Pandas Dataframe—减少列数(解构数据),python,pandas,dataframe,Python,Pandas,Dataframe,我有一个这样的数据框,按国家跟踪销售额: 栏目: 日,美国,墨西哥,加拿大 “2020-01-01”,5、10、15 “2020-01-02”,10、15、20 但我想减少列的数量,使其更易于使用: 希望产出: 日期、国家、销售 “2020-01-01”,美国,5 “2020-01-01”,墨西哥,10 “2020-01-01”,加拿大,15 有没有一个简单的方法可以做到这一点? 我目前的想法是创建三个独立的数据帧: df1:Day,美国 df2:Day,墨西哥 df3:Day,加拿大 然后将它

我有一个这样的数据框,按国家跟踪销售额:

栏目:

日,美国,墨西哥,加拿大

“2020-01-01”,5、10、15

“2020-01-02”,10、15、20

但我想减少列的数量,使其更易于使用:

希望产出:

日期、国家、销售

“2020-01-01”,美国,5

“2020-01-01”,墨西哥,10

“2020-01-01”,加拿大,15

有没有一个简单的方法可以做到这一点? 我目前的想法是创建三个独立的数据帧: df1:Day,美国 df2:Day,墨西哥 df3:Day,加拿大

然后将它们逐个连接起来:

df_new=pd.concat([df1,df2],轴=1,排序=False)

df_new_new=pd.concat([df_new,df3]),轴=1,排序=False)

我在这里提问的原因是,我认为会有一种更简单的方法,并希望找出这种对datatable/df的“解构”是否有官方术语


谢谢

使用
melt
功能。在这种情况下:

df_new = df.melt('Day', var_name='Country', value_name='Sales')