为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2022-09-27 15:13:55
将数据框从 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


查看完整回答
反对 回复 2022-09-27
?
慕姐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))

新日期列可用于绘制您喜欢的包。


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 62 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信