如何重命名列以获得一行列名?

2024-09-29 21:47:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据帧df

你知道吗测向头()

windIntensity   year    month   day hour    AOBT    delay
3               2015    1   1   0   0       0.0     15.0
2               2015    1   1   0   0       0.0     10.0
2               2015    1   1   1   0       0.0     5.0
2               2015    1   1   1   0       0.0     0.0
1               2015    1   1   2   0       0.0     0.0

当我执行此代码时:

df = dfj.groupby(["year","hour"]).agg({'windIntensity':'mean','delay':['mean','count']}).reset_index()

我得到这个结果:

year    hour    windIntensity   delay
                mean            mean        count
0   2015    0   4.239207        24.240373   857
1   2015    1   4.029024        15.770449   758
2   2015    2   3.863928        7.431322    779
3   2015    3   3.859801        4.161290    806
4   2015    4   3.782659        4.722230    6851

但如何重命名列以获得一行列,而不是两行?你知道吗

预期结果:

year    hour    windIntensity_mean  delay_mean  count
0   2015    0   4.239207            24.240373   857
1   2015    1   4.029024            15.770449   758
2   2015    2   3.863928            7.431322    779
3   2015    3   3.859801            4.161290    806
4   2015    4   3.782659            4.722230    6851

Tags: 数据代码dfcountmeanyearaggdelay
1条回答
网友
1楼 · 发布于 2024-09-29 21:47:46

演示:

具有多级列的源数据框:

In [223]: r
Out[223]:
  year hour windIntensity delay
                     mean  mean count
0    1    0          2015   6.0     5

解决方案:

In [224]: r.columns = r.columns.map(lambda c: ('_' if c[1] else '').join(c))

结果:

In [225]: r
Out[225]:
   year  hour  windIntensity_mean  delay_mean  delay_count
0     1     0                2015         6.0            5

相关问题 更多 >

    热门问题