卸货时放下NA

时间:2019-03-08 14:00:07

标签: python pandas

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

field             
date     source   colA colB
20180101 source1  1    Nan
         source2  Nan  2
20180102 source1  3    Nan
         source2  NaN  4

...

保证colA将始终具有源1的数据,而永远不会有源2的数据。与colB相似,它将始终具有源2的数据,而永远不会有source1。

现在,我想拆包装并重新排序,这样我可以得到这样的东西:

source   source1   source2
field    colA      colB
date
20180101 1         2
20180102 3         4
...

但是问题是,当我拆栈时,我得到的列包含了source1 colB和source2 colA的所有NA。我不想在拆箱后再进行Dropna操作,因为我觉得有机会丢失重要信息。反正有我想做的事吗?

1 个答案:

答案 0 :(得分:1)

在列中将DataFrame.stack用于已删除的NaN,将DataFrameMultiIndex一起用于df = df.stack().unstack([1,2]) print (df) source source1 source2 colA colB date 20180101 1.0 2.0 20180102 3.0 4.0 的系列:

{{1}}