Python 将索引值转换为表中的列
如果有一个长的数据帧,它的特点是两列多索引和一列带值。我认为这是用pandas(tidy)表示数据的最佳方式,但我希望将其转换为excel能够使用的格式。当前格式的行太多。我首先从熊猫开始,因为我有大约6GB的.csv数据,excel无法完成这项工作。很多都被裁掉了,所以我希望产量更容易管理Python 将索引值转换为表中的列,python,pandas,Python,Pandas,如果有一个长的数据帧,它的特点是两列多索引和一列带值。我认为这是用pandas(tidy)表示数据的最佳方式,但我希望将其转换为excel能够使用的格式。当前格式的行太多。我首先从熊猫开始,因为我有大约6GB的.csv数据,excel无法完成这项工作。很多都被裁掉了,所以我希望产量更容易管理 VALUE DATE ID 2005-01-01 00:00:00 222
VALUE
DATE ID
2005-01-01 00:00:00 222 3.8
2005-01-01 01:00:00 222 3.7
2005-01-01 02:00:00 222 3.2
2005-01-01 00:00:00 201 3.1
2005-01-01 01:00:00 201 3.7
2005-01-01 02:00:00 201 3.2
...................................
.csv导出所需的格式如下所示:
201 222 ....
DATE
2005-01-01 00:00:00 3.1 3.8 ....
2005-01-01 01:00:00 3.7 3.7 ....
2005-01-01 02:00:00 3.2 3.2 ....
因此,简而言之,我想将每个索引值“ID”转换为一个单独的列。选择列
值
并通过以下方式重塑:
如果df
是系列
,则使用:
df1 = df.unstack()
我很惊讶它这么简单。试过之后,正确的使用方法似乎是df1=df.unstack('VALUE')@Harper-如果
df
是系列,那么df1=df.unstack()
应该工作是的,这也是一个选项,但是df1=df['VALUE'])。unstack()
不是。它返回一个键错误。
df1 = df.unstack()