dataframe,如果列B大于0,那么生成列C=1;否则生成列C等于0
时间: 2024-03-19 07:45:47 浏览: 160
pandas通过loc生成新的列方法
5星 · 资源好评率100%
可以使用 Pandas 中的 apply 方法和 lambda 表达式来实现:
``` python
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4], 'B': [5, -1, 0, 3]}
df = pd.DataFrame(data)
# 使用 apply 方法和 lambda 表达式生成新列 C
df['C'] = df['B'].apply(lambda x: 1 if x > 0 else 0)
# 输出结果
print(df)
```
输出结果为:
```
A B C
0 1 5 1
1 2 -1 0
2 3 0 0
3 4 3 1
```
其中,lambda 表达式中的 if-else 语句实现了根据条件生成新列的功能。apply 方法可以在指定的列上逐行应用指定的函数,返回应用结果组成的新列。
阅读全文