我有一個這樣的數據框:field date source colA colB20180101 source1 1 Nan source2 Nan 220180102 source1 3 Nan source2 NaN 4...保證 colA 將始終擁有源 1 的數據,而永遠不會擁有源 2 的數據。與 colB 類似,它將始終擁有源 2 的數據,但永遠不會擁有源 1 的數據。現在我想做一個 unstack 并重新排序,所以我可以有這樣的東西:source source1 source2field colA colBdate20180101 1 220180102 3 4...但問題是,當我取消堆疊時,我得到了包含 source1 colB 和 source2, colA 的所有 NA 的列。我不想在 unstack 之后做 dropna,因為我覺得有機會丟失重要信息。有沒有辦法做我想做的事?
1 回答

慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
使用DataFrame.stack的系列去掉NaNs的Series.unstack對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
添加回答
舉報
0/150
提交
取消