Pandas:合并multiIndex DataFrame的标题行

发布于 2021-01-29 17:43:07

可以说我有一个DataFrame如下:

first   bar       baz       foo
second  one  two  one  two  one  two three
A       1    2    3    4    5    6   7
B       8    9    10   11   12   13  14

我想创建一个新的DataFrame像这样:

        barone  bartwo  bazone baztwo  fooone footwo foothree
A       1       2       3      4       5      6      7
B       8       9       10     11      12     13     14

可能的代码是什么?

关注者
0
被浏览
236
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    1.使用Python

    3.6+更新,使用带有列表理解功能的f字符串格式

    df.columns = [f'{i}{j}' for i, j in df.columns]
    

    2.使用mapjoin

    df.columns = df.columns.map(''.join)
    

    3.如果您的列具有数字数据类型,请使用mapformat

    df.columns = df.columns.map('{0[0]}{0[1]}'.format)
    

    输出:

       barone  bartwo  bazone  baztwo  fooone  footwo  foothree
    A       1       2       3       4       5       6         7
    B       8       9      10      11      12      13        14
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看