dataframe,如何通过列A和列B数据生成列C,使得:如果列A为缺失值、列B不是缺失值,那么生成列C=列B;如果列B为缺失值、列A不是缺失值,那么生成列C=列A;如果列B不是缺失值、列A也不是缺失值,那么生成列C=列A+列B;
时间: 2024-05-05 22:19:48 浏览: 23
Python将DataFrame的某一列作为index的方法
可以使用 pandas 库中的 apply 函数来实现。代码如下:
```python
import pandas as pd
import numpy as np
# 创建示例 DataFrame
df = pd.DataFrame({'A': [np.NaN, 2, np.NaN, 4, 5],
'B': [1, np.NaN, 3, np.NaN, 6]})
# apply 函数实现
df['C'] = df.apply(lambda row: row['B'] if np.isnan(row['A']) else (row['A'] if np.isnan(row['B']) else row['A']+row['B']), axis=1)
print(df)
```
运行结果如下:
```
A B C
0 NaN 1.0 1.0
1 2.0 NaN 2.0
2 NaN 3.0 3.0
3 4.0 NaN 4.0
4 5.0 6.0 11.0
```
可以看到,通过 apply 函数,我们成功地按照要求生成了新的一列 C。
阅读全文