为了账号安全,请及时绑定邮箱和手机立即绑定

取消堆叠时丢弃 NA

取消堆叠时丢弃 NA

牧羊人nacy 2021-11-30 16:13:38
我有一个这样的数据框: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条经验 获得超7个赞

使用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


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信