如何在数据框pandas中制作列的副标题?

2024-04-19 14:16:26 发布

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

我正在尝试在下面的数据集中写入子列名称。 我甚至不知道如何称呼这个名字。。。我试图搜索它,但我找不到类似的案例。

这是当前数据帧

    Height  time_of_day resolution  Height  time_of_day resolution  Height  time_of_day resolution  Height  time_of_day resolution
clusters                                                
0   1.198348    1.606481    0.910549    1.348580    0.828431    0.831974    1.260882    1.641892    1.208771    1.261636    0.656250    0.859061
1   5.324421    1.442708    0.658917    1.413960    1.634722    1.147284    2.161238    1.494318    0.786127    1.718191    1.401042    0.793313
2   1.911759    1.493056    0.892624    1.787209    1.461806    0.790385    1.307070    0.733333    0.830116    1.722415    1.190232    0.594089
3   1.838731    1.211574    0.594089    1.829200    1.197682    0.594089    1.688993    1.175690    0.594089    1.227832    1.650000    1.104495
0   1.679610    1.180208    0.594089    1.697233    1.229565    0.594089    1.285936    0.820833    0.923540    1.323350    0.748333    0.918220
1   1.392903    1.408730    1.176015    1.363399    1.476389    1.197830    1.253900    1.701923    1.104157    1.676119    1.283594    0.594089
2   1.205302    1.129433    0.834921    1.899686    1.395833    0.809999    1.820913    1.251233    0.594089    1.801618    1.308559    0.797348
3   2.220466    1.282801    0.812504    1.154521    1.220721    0.816337    1.809648    1.500000    0.804246    1.281305    1.661290    1.048265
0   1.234176    1.554012    1.047034    1.735501    1.361111    0.594089    1.418779    0.881219    0.594089    1.600900    1.261667    0.594089
1   4.098913    1.361111    0.651714    1.369511    1.035417    0.943745    1.830798    1.752155    0.594089    1.253299    1.683333    1.127068
2   1.400826    0.879808    0.750322    1.243563    1.663333    1.058484    1.264153    1.722619    1.293911    1.555719    1.562500    0.766965
3   1.708665    1.472403    0.641871    2.813513    1.333333    0.834848    1.405766    1.568750    0.819914    1.494361    1.166667    0.907485
0   1.777442    1.111213    0.594089    1.793937    1.287037    1.151813    1.877160    1.264583    0.837757    1.733132    1.156310    0.594089
1   1.092618    1.285714    0.905675    1.727730    1.124199    0.766965    1.147912    0.767628    0.885132    1.142368    0.513333    0.789448
2   2.488173    1.208333    0.867353    1.317397    0.990591    0.907485    1.744708    1.166016    0.594089    1.880673    1.159910    0.774561
3   1.699597    1.482372    0.995644    1.722384    1.158333    0.594089    1.201566    1.498843    0.988628    1.414641    1.178763    1.009077
0   1.525655    1.238889    0.834485    1.940050    1.319792    0.594089    1.342455    1.608607    1.050610    1.079180    0.759615    0.848058
1   1.843363    1.286706    0.594089    1.911755    1.255435    0.908561    2.487911    1.517593    0.835542    2.337511    1.515957    0.805428
2   2.214941    1.425781    0.827254    2.695153    1.550347    0.835103    1.331540    0.808824    0.926851    1.263953    1.616319    1.207323
3   1.243146    1.531250    1.212750    1.324585    1.643817    0.993911    2.051639    1.287162    0.594089    1.954031    1.240462    0.594089

我想增加这些副标题“房子”栏目和“夏天,秋天,冬天,春天”。不需要在列名下,它可以在上面。。。我只想说出它的名字。。。!

enter image description here


Tags: of数据名称time名字案例clustersheight
1条回答
网友
1楼 · 发布于 2024-04-19 14:16:26

您可以从像元组这样的ITerable产品构造pandasMultiIndex

df_multiindex = pd.MultiIndex.from_product(
    (('Summer', 'Autumn', 'Winter', 'Spring'), 
     ('Height', 'time_of_day', 'resolution'))
)

并将此MultiIndex分配给数据帧的columns

^{pr2}$

现在,您可以使用以下方法为数据编制索引:

df.Summer.resolution
# Out: [0.910549, 0.658917 ... ]

或等同于:

df[('Summer', 'resolution')]
# Out: [0.910549, 0.658917 ... ]

或者,如果要获取'Winter'的所有数据:

df['Winter']  # or with df.Winter
# Out: Height  time_of_day  resolution                                  
       1.260882     1.641892    1.208771
       2.161238     1.494318    0.786127
       1.307070     0.733333    0.830116
       ....

如果要更改多索引的顺序,只需更改传递给pd.MultiIndex.from_product的元组的顺序,并确保顺序适合您的数据。在

相关问题 更多 >