我有一个像这样的数据框:
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操作,因为我觉得有机会丢失重要信息。反正有我想做的事吗?
答案 0 :(得分:1)
在列中将DataFrame.stack
用于已删除的NaN
,将DataFrame
与MultiIndex
一起用于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}}