pandas将某列按条件赋值
时间: 2023-09-08 11:14:15 浏览: 951
可以使用 Pandas 中的 loc 方法来按条件赋值某一列。具体步骤如下:
1. 使用 loc 方法选取符合条件的行和要赋值的列,例如选取所有 age 大于 30 的行和 salary 列:
```python
df.loc[df['age'] > 30, 'salary'] = 10000
```
2. 将选中行中的 salary 列赋值为 10000。
注意,这里的 df 是 Pandas DataFrame 对象,'age' 和 'salary' 是 DataFrame 的列名,可以根据实际情况替换。
相关问题
pandas 根据条件对某列进行赋值
您可以使用 Pandas 的 loc 方法根据条件对某列进行赋值。以下是一个示例:
假设我们有一个包含学生信息的 DataFrame,其中包含姓名、年龄和成绩列。我们想要根据年龄大于等于18岁的学生,将其成绩列的值设为"合格"。可以按照以下步骤进行操作:
```python
import pandas as pd
# 创建示例 DataFrame
data = {'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [20, 17, 19, 22],
'成绩': ['不合格', '不合格', '不合格', '不合格']}
df = pd.DataFrame(data)
# 根据条件对成绩列进行赋值
df.loc[df['年龄'] >= 18, '成绩'] = '合格'
```
在上述代码中,`df['年龄'] >= 18` 是条件表达式,它返回一个布尔型的 Series,表示每个学生是否满足年龄大于等于18岁的条件。`df.loc[df['年龄'] >= 18, '成绩']` 选择了满足条件的行,并且只选择了"成绩"列。将`'成绩'`列的值设置为`'合格'`。
执行以上代码后,DataFrame 中年龄大于等于18岁的学生的成绩将被设置为"合格"。
pandas根据一列对另一列赋值
可以使用pandas的.loc方法根据条件对DataFrame的某一列进行赋值操作。例如,假设有一个DataFrame df,其中有两列'A'和'B',我们可以根据'A'列的值对'B'列进行赋值操作,示例如下:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})
# 根据条件对B列赋值
df.loc[df['A'] > 2, 'B'] = 10
print(df)
```
这段代码的作用是将'A'列中大于2的行对应的'B'列赋值为10。输出结果如下:
```
A B
0 1 5
1 2 6
2 3 10
3 4 10
```
阅读全文