dataframe中,如果列 B 中不是空值,则将列A的数值赋值给列B,如何写代码
时间: 2023-04-07 22:01:27 浏览: 96
pandas.DataFrame的pivot()和unstack()实现行转列
可以使用 pandas 库中的 loc 方法来实现这个需求,代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [None, 5, None, 6]})
# 使用 loc 方法实现需求
df.loc[df['B'].notnull(), 'B'] = df['A']
# 输出结果
print(df)
```
输出结果为:
```
A B
0 1 NaN
1 2 2.0
2 3 NaN
3 4 4.0
```
其中,`df['B'].notnull()` 用于判断 B 列中是否存在非空值,返回一个布尔型的 Series,然后使用这个 Series 作为 loc 方法的第一个参数,表示只对 B 列中非空值的行进行操作。第二个参数 `'B'` 表示对 B 列进行操作,将其赋值为 A 列的值。
阅读全文