ivot_table值NaN缺少变量

时间:2019-02-28 19:33:12

标签: python pandas pivot missing-data

我有以下df data

data
     Site Storage Commodity     parameter         value     unit
0     Mid    Pump      Elec    inst-cap-c  0.000000e+00      MWh
1     Mid    Pump      Elec      cap-lo-c  0.000000e+00      MWh
2     Mid    Pump      Elec      cap-up-c  1.500000e+15      MWh
...
16    Mid    Pump      Elec          init  1.000000e+00     None
17    Mid    Pump      Elec     discharge  3.500000e-06     None
18    Mid    Pump      Elec      ep-ratio           NaN     None

唯一具有parameter值的NaNep-ratio。我通过以下方法在此df上应用了熊猫pivot_table()

data = data.pivot_table(values='value',
                        index=['Site', 'Storage', 'Commodity'],
                        columns='parameter').reset_index()

问题是我以某种方式枢转后参数ep-ratio消失了。

data
    Site Storage Commodity  cap-lo-c  ...   inv-cost-p  var-cost-c  var-cost-p  wacc
0    Mid    Pump      Elec       0.0  ...     100000.0         0.0        0.02  0.07

data['ep-ratio']
*** KeyError: 'ep-ratio'

data['cap-lo-c']
0    0.0

所以我认为这是因为ep-ratio = NaN 我该如何解决?除了更改ep-ratio的值

1 个答案:

答案 0 :(得分:0)

您必须包含dropna=False,它将保留NaN的值。

data = df.pivot_table(values='value',
                        index=['Site', 'Storage', 'Commodity'],
                        columns='parameter', dropna=False).reset_index()