简体   繁体   English

Pandas Multiindex:将 Multiindex 转换为列并保持第一级隐藏或作为 nan

[英]Pandas Multiindex: convert Multiindex to a column and keep the first level hidden or as nan

Here is my dataframe of Multiindex:这是我的 Multiindex 数据框:

data3 = [['a', 'b',3,3],['a','c',3,3],['b','c',3,3],['c','d',3,3]]
df3 = pd.DataFrame(data3, columns=['v3a','v3b','v3c','v3d'])
df3 = df3.groupby(['v3a','v3b']).first()

How to convert Multiindex to a column and keep the first level hidden or as nan as following:如何将 Multiindex 转换为列并保持第一级隐藏或 nan 如下:

在此处输入图像描述

To have NaN :拥有NaN

import numpy as np

df3 = df3.groupby(['v3a','v3b']).first().reset_index()
df3.loc[df3['v3a'].duplicated(), 'v3a'] = np.nan
print(df3)
   v3a v3b  v3c  v3d
0    a   b    3    3
1  NaN   c    3    3
2    b   c    3    3
3    c   d    3    3

If you mean "hidden" as in "empty string" you can do:如果您在“空字符串”中表示“隐藏”,您可以执行以下操作:

df3 = df3.groupby(['v3a','v3b']).first().reset_index()
df3.loc[df3['v3a'].duplicated(), 'v3a'] = ''
print(df3)
  v3a v3b  v3c  v3d
0   a   b    3    3
1       c    3    3
2   b   c    3    3
3   c   d    3    3

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

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