熊猫-如何平平列中的分级索引我有一个数据框架,在轴1(列)中有一个层次索引(来自groupby.agg行动): USAF WBAN year month day s_PC s_CL s_CD s_CNT tempf sum sum sum sum amax amin0 702730 26451 1993 1 1 1 0 12 13 30.92 24.981 702730 26451 1993 1 2 0 0 13 13 32.00 24.982 702730 26451 1993 1 3 1 10 2 13 23.00 6.983 702730 26451 1993 1 4 1 0 12 13 10.04 3.924 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.981 702730 26451 1993 1 2 0 0 13 13 32.00 24.982 702730 26451 1993 1 3 1 10 2 13 23.00 6.983 702730 26451 1993 1 4 1 0 12 13 10.04 3.924 702730 26451 1993 1 5 3 0 10 13 19.94 10.94我该怎么做?(我试了很多次,但没有结果。)根据一项建议,这是以DICT的形式出现的头部。{('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}}
3 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
df.columns = df.columns.get_level_values(0)
注意:如果to级别有一个名称,您也可以通过它访问它,而不是0。
.
join
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']
添加回答
举报
0/150
提交
取消