Pandas-如何展平列中的层次结构索引

我有一个在轴1(列)中具有层次结构索引的数据框(来自groupby.agg操作):

     USAF   WBAN  year  month  day  s_PC  s_CL  s_CD  s_CNT  tempf       

sum sum sum sum amax amin

0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98

1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98

2 702730 26451 1993 1 3 1 10 2 13 23.00 6.98

3 702730 26451 1993 1 4 1 0 12 13 10.04 3.92

4 702730 26451 1993 1 5 3 0 10 13 19.94 10.94

我想将其展平,使其看起来像这样(名称不是关键的,我可以重命名):

     USAF   WBAN  year  month  day  s_PC  s_CL  s_CD  s_CNT  tempf_amax  tmpf_amin   

0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98

1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98

2 702730 26451 1993 1 3 1 10 2 13 23.00 6.98

3 702730 26451 1993 1 4 1 0 12 13 10.04 3.92

4 702730 26451 1993 1 5 3 0 10 13 19.94 10.94

我该怎么做呢?(我已经尝试了很多,无济于事。)

根据建议,这是字典形式的头

{('USAF', ''): {0: '702730',

1: '702730',

2: '702730',

3: '702730',

4: '702730'},

('WBAN', ''): {0: '26451', 1: '26451', 2: '26451', 3: '26451', 4: '26451'},

('day', ''): {0: 1, 1: 2, 2: 3, 3: 4, 4: 5},

('month', ''): {0: 1, 1: 1, 2: 1, 3: 1, 4: 1},

('s_CD', 'sum'): {0: 12.0, 1: 13.0, 2: 2.0, 3: 12.0, 4: 10.0},

('s_CL', 'sum'): {0: 0.0, 1: 0.0, 2: 10.0, 3: 0.0, 4: 0.0},

('s_CNT', 'sum'): {0: 13.0, 1: 13.0, 2: 13.0, 3: 13.0, 4: 13.0},

('s_PC', 'sum'): {0: 1.0, 1: 0.0, 2: 1.0, 3: 1.0, 4: 3.0},

('tempf', 'amax'): {0: 30.920000000000002,

1: 32.0,

2: 23.0,

3: 10.039999999999999,

4: 19.939999999999998},

('tempf', 'amin'): {0: 24.98,

1: 24.98,

2: 6.9799999999999969,

3: 3.9199999999999982,

4: 10.940000000000001},

('year', ''): {0: 1993, 1: 1993, 2: 1993, 3: 1993, 4: 1993}}

回答:

我认为最简单的方法是将列设置为顶级:

df.columns = df.columns.get_level_values(0)

注意:如果to级别具有名称,你也可以通过此名称访问它,而不是0。

如果要将joinMultiIndex 组合成一个索引(假设你的列中仅包含字符串条目),则可以:

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

注意:strip没有第二个索引时,必须使用空格。

In [11]: [' '.join(col).strip() for col in df.columns.values]

Out[11]:

['USAF',

'WBAN',

'day',

'month',

's_CD sum',

's_CL sum',

's_CNT sum',

's_PC sum',

'tempf amax',

'tempf amin',

'year']

以上是 Pandas-如何展平列中的层次结构索引 的全部内容, 来源链接: utcz.com/qa/426298.html

回到顶部