繁体   English   中英

无法删除熊猫数据框中的MultiIndex

[英]Not able to remove MultiIndex in pandas dataframe

我是具有以下结构的数据框df 我试图`df.reset_index()删除multiIndex。 但是它不起作用。

   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,则至少需要根据列名对列进行重新排序。 我尝试了上述代码进行重新排序,但无法正常工作。 谁能帮帮我吗

附加输入数据框文件df

打印(DF)

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

OP1

df.columns=df.columns.map('_'.join)
df
Out[37]: 
         a_b  a_b  s_C  s_b  s_C
revenue   -1    0    1    2    1

OP2

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM