python - NaN时如何使用一列覆盖另一列并采用另一列值?
问题描述
我的系统是 Python3.6 和 pandas 0.24
我的数据框中有 2 列cola
,如下所示: colb
df
cola colb
A C
C NaN
NaN C
C D
如果两者都有行值,我想用来colb
覆盖,如果没有值则采用。 cola
cola
colb
预期结果如下:
cola colb colc
A C C
C NaN C
NaN C C
C D D
怎么做?
提前致谢!
解决方案
您可以使用np.where
df['colc']=np.where(df['colb'].isnull(), df['cola'], df['colb'])
print(df)
输出:
cola colb colc
0 A C C
1 C None C
2 None C C
3 C D D
推荐阅读
- html - 为什么不能再在 Chrome 中移动 DOM 节点?
- sql-server - SQL 选择不返回我想要的结果
- networking - 如果我每秒使用 100 万个 IPv6 地址,那么用完所有地址需要多长时间?
- elasticsearch - 使用来自先前存在的索引的新映射创建新索引
- css - shadow dom 中的样式元素
- python-3.x - 使用 Scrapy 以我们想要的任何深度抓取链接到网站的所有页面
- javascript - 页面滚动到section时触发js动画
- java - Webdriver 找不到元素
- css - 如何在 JavaFx CSS 中更改滑块拇指的颜色?
- python - 将两个不同位长的大整数可逆编码为一个整数