我有一个dataframe,我将索引设置为dataframe的一列。这将创建一个分层列索引。我要将列展平到一个级别。但是,与这个问题-Python Pandas - How to flatten a hierarchical index in columns类似,列不重叠(即'id'不在层次索引的0级,其他列在索引的级别1)。在
df = pd.DataFrame([(101,3,'x'), (102,5,'y')], columns=['id', 'A', 'B'])
df.set_index('id', inplace=True)
A B
id
101 3 x
102 5 y
所需的输出是扁平列,如下所示:
^{pr2}$
给予:
对于打印purdy,可以使用reset the index并使用.to_string生成一个DataFrame的副本:
^{pr2}$然后使用格式化选项,以便输出符合您的需要:
你误解了你所看到的。在
没有向您显示分层列索引。
id
是行索引的名称。为了给你看索引的名称,pandas把这个空间放在那里。在你问题的答案取决于你真正想要什么或需要什么。在
由于
^{pr2}$df
,您可以按照您想要的方式将其转储到csv
中:或者您可以更改
df
,使其以您想要的方式显示请不要这样做!!!!
我用它来演示如何操纵
我也可以保持索引的原样,但是操作列和行索引名以打印您想要的格式。在
但是这将列命名为'index
id
,这是没有意义的。在数据帧中总是有一个索引。如果不将'id'设置为索引,它将与其他列处于同一级别,pandas将为索引填充一个从0开始递增的整数。在
索引在那里,所以你可以切片原始数据帧。这样做了
^{pr2}$假设您希望ID作为索引,ID作为列,这是非常多余的,您可以:
使用此选项,您可以按“id”进行切片,例如:
但同样的信息有:
相关问题 更多 >
编程相关推荐