pandas新建一列为两列的相除结果,并将分母为0的一行的相除结果显示无
时间: 2024-03-20 11:43:58 浏览: 123
Pandas实现一列数据分隔为两列
可以使用Pandas的`apply()`方法结合lambda函数来实现这个需求。假设我们要将DataFrame中的`col1`列和`col2`列相除,结果存储在`col3`列中,同时如果分母为0,则将`col3`列的值设为"无"。代码如下:
```
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [2, 0, 4, 0, 6]})
# 定义一个lambda函数,用于计算相除结果
divide = lambda x, y: "无" if y == 0 else x / y
# 将相除结果存储在新的列col3中
df['col3'] = df.apply(lambda row: divide(row['col1'], row['col2']), axis=1)
print(df)
```
输出结果为:
```
col1 col2 col3
0 1 2 0.5
1 2 0 无
2 3 4 0.75
3 4 0 无
4 5 6 0.83
```
可以看到,分母为0的行的相除结果被设置为了"无"。
阅读全文