python - 如何在空值上折叠熊猫中的列?
问题描述
假设我有以下数据框:
pd.DataFrame({'col1': ["a", "a", np.nan, np.nan, np.nan],
'override1': ["b", np.nan, "b", np.nan, np.nan],
'override2': ["c", np.nan, np.nan, "c", np.nan]})
col1 override1 override2
0 a b c
1 a NaN NaN
2 NaN b NaN
3 NaN NaN c
4 NaN NaN NaN
有没有办法将 3 列折叠成一列,其中override2
overrides override1
,其中 overrides col1
,但是,如果有 NaN,那么要保留 bofore 的值?另外,我主要是在寻找一种不需要制作额外专栏的方法。我真的在寻找一个内置的熊猫解决方案。
这是我正在寻找的输出:
collapsed
0 c
1 a
2 b
3 c
4 NaN
解决方案
使用ffill
df.ffill(1).iloc[:,-1]
推荐阅读
- logstash - 如何在logstash输出中检查带有日期的索引
- python - 对不断扩展的数组执行数学运算的最快方法是什么?
- python - 重塑 Panda Pivoted 数据框
- javascript - useEffect 在 axios 调用中一直不返回任何内容
- r - 使用 psych 包将 R markdown 编织为 pdf
- linux - AES多核性能不佳
- node.js - CASL 能力主题助手带条件
- javascript - 为什么没有生成通知的javascript?
- arrays - 从时间戳图像对创建 HDF5 数据集的最佳方法是什么?
- flutter - 在一个可点击的 ListView.builder 在颤动中列出一个类后显示它