无法删除pandas datafram中的多索引

2024-04-23 16:31:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是以下结构的数据帧df。我试过了`数据框重置索引()删除多重索引。但它不起作用。在

   df.reindex_axis(sorted(df.columns), axis=1)
   print(df.columns)

   MultiIndex(levels=[['MID Index', 'RLG Index', 'RLV Index', 'RTY Index', 'S5COND Index', 'S5CONS Index', 'S5ENRS Index', 'S5FINL Index', 'S5HLTH Index', 'S5INDU Index', 'S5INFT Index', 'S5MATR Index', 'S5RLST Index', 'S5TELS Index', 'S5UTIL Index', 'SPX Index', 'date'], ['LP', 'PX', '']],
       labels=[[16, 7, 7, 15, 15, 0, 0, 8, 8, 3, 3, 9, 9, 2, 2, 10, 10, 1, 1, 11, 11, 12, 12, 4, 4, 13, 13, 5, 5, 14, 14, 6, 6], [2, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]],
       names=['ticker', 'field'])

如果不能删除multiIndex,至少我需要根据列名对列重新排序。我尝试了上面的代码重新排序,但它不起作用。 谁能帮帮我吗

附加输入Dataframe file ^{}


Tags: columns数据dfindex排序结构重置sorted
1条回答
网友
1楼 · 发布于 2024-04-23 16:31:25

打印(df)

Out[35]: 
user_id  a     s      
session  b  b  C  b  C
revenue -1  0  1  2  1

第一章

^{pr2}$

凤凰社2

df.T.reset_index()
Out[41]: 
  user_id session  revenue
0       a       b       -1
1       a       b        0
2       s       C        1
3       s       b        2
4       s       C        1

然后进行以下所需的计算

数据输入:

df = pd.DataFrame({'user_id':['a','a','s','s','s'],
                    'session':['b','b','C','b','C'],
                    'revenue':[-1,0,1,2,1]})
df=df.set_index(['user_id','session']).T

相关问题 更多 >