pandas里怎么把有multiindex的列拉平变成一层?

  统计/机器学习 Python    浏览次数:489        分享
0

上面这个dataframe的columns是multiindex的,打印列名

df.columns

得到

MultiIndex(levels=[['value', 'date', 'id'], ['max', 'min', '']],
           codes=[[2, 1, 0, 0], [2, 2, 0, 1]])

我想得到扁平化的列明,比如上面最后就只有四列,分别是

['id', 'date', 'value_max', 'value_min']

求助各位, 谢谢~

 

R琳   2019-09-24 03:45



   1个回答 
2


df.columns = ['_'.join(col).rstrip('_') for col in df.columns.values]

新的列明就是['id', 'date', 'value_max', 'value_min']

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-09-24 07:17

试过了,果然可以了,谢谢! - R琳   2019-09-24 09:41


  相关主题

pandas读取csv中指定的某些列   2回答

pandas中某列中数字后边有 亿/万这种单位 如何处理   1回答

pandas新建一个只有一行的dataframe时结果返回空的dataframe   1回答

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

pandas报错: 'DataFrame' object has no attribute 'unique'   1回答

怎么按照index对pd.DataFrame的行排序?   1回答

怎么把pandas dataframe中一列英文文本全部转成小写?   2回答

使用pandas.to_datetime转化文本到时间戳时怎么只保留日期?   2回答

怎么对pandas dataframe中的值进行查找替换?   2回答

pd.dataframe怎么同时对两个key排序?   1回答

pandas按照两列sort_values,一个升序一个降序   1回答

pandas DataFrame去掉重复的行   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!