在set_index()之后,数据帧多索引中的值消失

2024-07-04 08:44:41 发布

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

我有一个看起来像这样的数据框:

     scn                cl_name  lqd_mp  lqd_wp  gas_mp  gas_wp  res_mp  res_wp
12    C6                Hexanes   3.398   1.723   2.200   5.835   2.614   2.775
13   NaN       Me-Cyclo-pentane   1.193   0.591   0.439   1.146   0.707   0.733
14   NaN                Benzene   0.037   0.017   0.013   0.030   0.021   0.020
15   NaN           Cyclo-hexane   1.393   0.690   0.697   1.820   0.944   0.979
16    C7               Heptanes   6.359   3.748   1.122   3.477   2.980   3.679
17   NaN        Me-Cyclo-hexane   4.355   2.515   0.678   2.068   1.985   2.401
18   NaN                Toluene   0.407   0.220   0.061   0.174   0.183   0.208
19    C8                Octanes  10.277   6.901   0.692   2.438   4.092   5.759
20   NaN          Ethyl-benzene   0.146   0.091   0.010   0.032   0.058   0.076
21   NaN       Meta/Para-xylene   0.885   0.553   0.029   0.095   0.333   0.436
22   NaN           Ortho-xylene   0.253   0.158   0.002   0.007   0.091   0.119
23    C9                Nonanes   8.683   6.552   0.280   1.113   3.266   5.160
24   NaN         Tri-Me-benzene   0.496   0.351   0.000   0.000   0.176   0.261
25   C10                Decanes   8.216   6.877   0.108   0.451   2.985   5.233

我想用“scn”列中前一行的值替换所有NaN值,然后在“scn”和“cl_name”两列上使用多索引重新索引数据帧

我用这两行代码来实现:

df['scn'] = df['scn'].ffill()
df.set_index(['scn', 'cl_name'], inplace=True)

带有ffil()的第一行完成了我想要用上述值替换NaNs的任务。但在执行set_index()之后,这些值将消失,留下空白单元格

                            lqd_mp  lqd_wp  gas_mp  gas_wp  res_mp  res_wp
scn  cl_name                                                              
C6   Hexanes                 3.398   1.723   2.200   5.835   2.614   2.775
     Me-Cyclo-pentane        1.193   0.591   0.439   1.146   0.707   0.733
     Benzene                 0.037   0.017   0.013   0.030   0.021   0.020
     Cyclo-hexane            1.393   0.690   0.697   1.820   0.944   0.979
C7   Heptanes                6.359   3.748   1.122   3.477   2.980   3.679
     Me-Cyclo-hexane         4.355   2.515   0.678   2.068   1.985   2.401
     Toluene                 0.407   0.220   0.061   0.174   0.183   0.208
C8   Octanes                10.277   6.901   0.692   2.438   4.092   5.759
     Ethyl-benzene           0.146   0.091   0.010   0.032   0.058   0.076
     Meta/Para-xylene        0.885   0.553   0.029   0.095   0.333   0.436
     Ortho-xylene            0.253   0.158   0.002   0.007   0.091   0.119
C9   Nonanes                 8.683   6.552   0.280   1.113   3.266   5.160
     Tri-Me-benzene          0.496   0.351   0.000   0.000   0.176   0.261
C10  Decanes                 8.216   6.877   0.108   0.451   2.985   5.233

我不希望索引的“scn”部分出现空格。我做错了什么? 谢谢


Tags: namedfclresmpnanmewp

热门问题