使用熊猫转换DataFrame

时间:2019-03-22 10:33:43

标签: python pandas

我将使用python pandas转换DataFrame:

l1=['andre','Marc']
l2=[5,12]
l3=[3,64]

dfWeeks=pd.DataFrame(list(zip(l1,l2,l3)), columns=['Name','22-2019','23-2019'])
dfWeeks

它看起来像这样:

Name 22-2019  23-2019
andre  5        3
Marc   12       64

我想对其进行转换并具有:

Name  Number  Dates
andre 5       22-2019
andre 3       23-2019
Marc  12      22-2019   
Marc  64      23-2019   

我尝试过数据透视表或分组,但我无法做到这一点。

谢谢。

2 个答案:

答案 0 :(得分:2)

尝试使用pd.melt(),更简单:

df.melt('Name',var_name='Dates',value_name='Number')

    Name    Dates  Number
0  andre  22-2019       5
1   Marc  22-2019      12
2  andre  23-2019       3
3   Marc  23-2019      64

或者:

m=df.set_index('Name').stack().reset_index()
m.columns=['Name','Date','Number']
print(m)

    Name     Date  Number
0  andre  22-2019       5
1  andre  23-2019       3
2   Marc  22-2019      12
3   Marc  23-2019      64

答案 1 :(得分:0)

尝试: dfWeeks.melt(id_vars ='Name')