python - 用另一列替换一列但不缺少值
问题描述
我有一个数据框
name g1 g2
a 1 1
a 0 na
a 1 3
b 1 na
b 2 na
b 3 4
c 4 na
我想在不移动 na 的情况下将 g2 值移动到 g1 返回的列应该是
name g1 g2
a 1 1
a 0 na
a 3 3
b 1 na
b 2 na
b 4 4
c 4 na
我用过df.replace(g1, g2),
,但这也会移动 NA。有没有人不搬NA
解决方案
这是一种方法:
data = [['a', '1', '1'], ['a', '0', np.nan], ['a', '1', '3'], ['b', '1', np.nan],
['b', '2', np.nan], ['b', '3', '4'], ['c', '4', np.nan]]
df = pd.DataFrame(data, columns=['name', 'g1', 'g2'])
df['g1'] = df['g2'].fillna(df['g1'])
print(df)
输出:
name g1 g2
0 a 1 1
1 a 0 NaN
2 a 3 3
3 b 1 NaN
4 b 2 NaN
5 b 4 4
6 c 4 NaN
推荐阅读
- mongodb - Mongoose 按字段分组和分组结果应存储为 groupname: object
- java - 从图库中旋转图像位图
- r - R在data.table中创建嵌套滚动列表
- java - 泛型是Java中方法签名的一部分吗?
- python - 数据框中的累积或滚动乘积
- git - 如何更改`git difftool`上的上下文(“统一”)?
- azure - Azure 内部负载均衡器主机名?
- spring - Spring Integration ws-outbound-gateway 抛出 webservicetransportexception not-found-404 错误
- css - 我正在尝试在 SASS 中创建颜色变量,这些变量将根据添加到父元素的类来设置嵌套元素的样式
- grafana - 石墨时间范围 > 48 小时不工作