将数据框从 m 行 x n 列调整为 m x n 行单列。Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec2000 12.7 13.8 13.3 12.6 12.8 12.3 13.4 14 13 12.8 13 13.22001 13.8 13.7 13.8 13.9 13.4 14.2 14.4 15.6 15.2 16 15.9 172002 16.5 16 16.6 16.7 16.6 16.7 16.8 17 16.3 15.1 17.1 16.9自Year Month Value2000 Jan 12.72000 Feb 13.82000 Mar 13.3然后轻松地将“年”+“月”列合并到日期字段中并绘制数据列。我对此感到生锈。读取各种熔化,重塑,堆叠选项令人沮丧地缓慢。
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
您可以像这样用于熊猫的数据帧:melt
df = pd.melt(df, id_vars=['Year'])
所有其他未在 中指定的列名称将熔化为一列id_vars
慕姐8265434
TA贡献1813条经验 获得超2个赞
正如其他人所提到的,如果 Year 是数据帧中的一列,则 将起作用。如果年份是您的索引(很难说,尽管可能基于您的维度),则可以使用 和 代替。meltstackreset_index
to_datetime可以组合两列以创建日期时间,但您需要先分配一个日期值:
df.columns.name = 'Month'
df = df.stack().reset_index()
df['Date'] = pd.to_datetime(df[['Year', 'Month']].assign(Day=1))
新日期列可用于绘制您喜欢的包。
添加回答
举报
0/150
提交
取消