使用一列值将熊猫数据帧从 m 行 n 列重新调整为 m x n 行

将数据框从 m 行 x n 列调整为 m x n 行单列。


Year   Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov  Dec

2000  12.7  13.8  13.3  12.6  12.8  12.3  13.4    14    13  12.8    13 13.2

2001  13.8  13.7  13.8  13.9  13.4  14.2  14.4    15.6  15.2    16  15.9    17

2002  16.5    16  16.6  16.7  16.6  16.7  16.8    17    16.3  15.1  17.1  16.9


Year Month Value

2000 Jan   12.7

2000 Feb   13.8

2000 Mar   13.3

然后轻松地将“年”+“月”列合并到日期字段中并绘制数据列。


我对此感到生锈。读取各种熔化,重塑,堆叠选项令人沮丧地缓慢。


莫回无
浏览 65回答 2
2回答

倚天杖

您可以像这样用于熊猫的数据帧:meltdf = pd.melt(df, id_vars=['Year'])所有其他未在 中指定的列名称将熔化为一列id_vars

慕姐8265434

正如其他人所提到的,如果 Year 是数据帧中的一列,则 将起作用。如果年份是您的索引(很难说,尽管可能基于您的维度),则可以使用 和 代替。meltstackreset_indexto_datetime可以组合两列以创建日期时间,但您需要先分配一个日期值:df.columns.name = 'Month'df = df.stack().reset_index()df['Date'] = pd.to_datetime(df[['Year', 'Month']].assign(Day=1))新日期列可用于绘制您喜欢的包。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python