旋转数据框以使列中的特定日期成为行

Pivot a dataframe to make specific dates that were in columns become rows

我有一个数据框,其中的大多数列具有以下结构的日期:

df1 = pd.DataFrame({'State':['NY', 'CA'], '3/1/20' :[5, 10], '3/2/20': [11, 13], '3/3/20': [4, 12]})

并且我想要 'pivot' 数据框,所以它现在是这种格式:

df2 = pd.DataFrame({'Date':['3/1/20','3/1/20','3/2/20','3/2/20','3/3/20','3/1/20'], 'State':['NY', 'CA', 'NY', 'CA','NY', 'CA'], 'Values':[5,10,11,13,4,12]})

有人对如何执行此操作有任何建议吗?谢谢!

使用pd.melt

df2 = pd.melt(df1, id_vars=['State']).rename(columns={'variable':'Date','value':'number'})