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

问题描述

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

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

并且我想“旋转”数据框,使其现在采用以下格式:

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

有人对此有任何建议吗?谢谢!

解决方法

使用pd.melt

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...