pandas按条件添加列
时间: 2023-04-02 12:01:45 浏览: 76
可以使用pandas的apply函数和lambda表达式来实现按条件添加列,例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = df.apply(lambda row: 'Yes' if row['A'] > 2 else 'No', axis=1)
print(df)
```
输出结果为:
```
A B C
1 4 No
1 2 5 No
2 3 6 Yes
```
以上代码中,我们使用apply函数对每一行进行操作,根据条件判断是否添加新列。
相关问题
pandas按两列条件添加新列
可以使用pandas的apply函数和lambda表达式来实现按两列条件添加新列,具体代码如下:
```python
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10], 'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 按两列条件添加新列
df['D'] = df.apply(lambda x: x['A'] + x['B'] if x['C'] > 12 else x['A'] - x['B'], axis=1)
print(df)
```
这段代码会在原数据框中添加一列名为D的新列,根据条件判断,如果列C中的值大于12,则新列D的值为列A和列B的和,否则为列A和列B的差。
pandas 按照条件添加一列
可以使用 pandas 的 loc 方法来按照条件添加一列,例如:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 添加一列 C,当 A 大于 2 时为 True,否则为 False
df.loc[df['A'] > 2, 'C'] = True
df.loc[df['A'] <= 2, 'C'] = False
print(df)
```
输出结果为:
```
A B C
0 1 4 False
1 2 5 False
2 3 6 True
```