首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改python枢轴中的列名

更改python枢轴中的列名
EN

Stack Overflow用户
提问于 2022-09-07 11:46:12
回答 1查看 42关注 0票数 1

我有一张桌子,如下所示:

代码语言:javascript
复制
ID       MONTH_ID       CATEGORY     Disease_COUNT
551     2021-11           NON_MET       1
580     2022-03            MET          1
580     2022-01            MET          1

我在上面的表上创建了一个枢轴,以便类别列中的唯一值成为新列,并按下表中给出的每个disease_count获取计数:

代码语言:javascript
复制
ID      MONTH_ID    COUNT_MET  COUNT_NON_MET
551     2021-11       null        1
580     2022-03        1         null
580     2022-01        1         null

我使用了下面给定的代码来创建上面的支点:

代码语言:javascript
复制
df2 = pd.pivot_table(df1,index=['ID','MONTH_ID'],
                        columns=['CATEGORY'],
                         values=["Disease_COUNT"]
                        ).reset_index()
cols=  ['BH_ID', 'MONTH_ID']
cols.extend([x for x in df2.columns.get_level_values(1) if x != ''])
df2.columns = cols

df1是上面给出的第一个数据框架,我需要修改上面给定的代码,这样我就可以得到ID、MONTH_ID、Disease_COUNT_MET和Disease_COUNT_NON_MET等列。也就是说,我需要Disease_COUNT_MET而不是COUNT_MET和Disease_COUNT_MET,而不是COUNT_NON_MET。

我需要动态地修改代码,我不能使用重命名函数。

下面是我需要的最后输出。

代码语言:javascript
复制
ID          MONTH_ID    Disease_COUNT_MET   Disease_COUNT_NON_MET
551          2021-11         null                    1
580          2022-03          1                    null
580          2022-01          1                    null

请帮帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 12:11:19

您可以扁平化MultiIndex:

代码语言:javascript
复制
df2 = (df1.pivot_table(index=['ID','MONTH_ID'],
                       columns=['CATEGORY'],
                       values=["Disease_COUNT"])
          .pipe(lambda d: d.set_axis(d.columns.map('_'.join), axis=1))
          .reset_index()
      )

df2

产出:

代码语言:javascript
复制
    ID MONTH_ID  Disease_COUNT_MET  Disease_COUNT_NON_MET
0  551  2021-11                NaN                    1.0
1  580  2022-01                1.0                    NaN
2  580  2022-03                1.0                    NaN
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73634940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档