pandas修改某一列的值
时间: 2023-06-22 07:25:20 浏览: 135
可以使用 `loc` 或 `iloc` 方法来修改某一列的值。
假设我们有一个名为 `df` 的 DataFrame,其中包含一个名为 `column_name` 的列,我们想要将该列中所有值为 `old_value` 的值修改为 `new_value`,可以使用如下代码:
```python
df.loc[df['column_name'] == 'old_value', 'column_name'] = 'new_value'
```
其中,`loc` 方法用于定位需要修改的行和列,第一个参数为行的条件,第二个参数为列的名称,最后通过赋值操作将需要修改的值替换为新的值。
另外,如果需要修改的列是 DataFrame 的第几列,可以使用 `iloc` 方法,如下所示:
```python
df.iloc[:, column_index] = 'new_value'
```
其中,`:` 表示选取所有行,`column_index` 表示需要修改的列的索引,通过赋值操作将需要修改的值替换为新的值。
相关问题
pandas 修改某一列值保留2位小数
你可以使用 pandas 的 round() 函数来保留某一列值的小数位数。下面是一个简单的例子:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1.23456, 2.34567, 3.45678],
'B': [4.56789, 5.67890, 6.78901]})
# 保留列A的小数点后2位
df['A'] = df['A'].round(2)
print(df)
```
输出结果如下:
```
A B
0 1.23 4.56789
1 2.35 5.67890
2 3.46 6.78901
```
在上面的代码中,我们使用 round() 函数来保留列A的小数点后2位。这样就可以修改某一列的值并保留指定的小数位数了。
pandas 删除某一列值为空的行
可以使用 `dropna()` 方法来删除值为空的行。下面是一个示例代码:
```python
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', None, 'M']}
df = pd.DataFrame(data)
# 删除 gender 列值为空的行
df.dropna(subset=['gender'], inplace=True)
print(df)
```
输出结果为:
```
name age gender
0 Alice 25 F
1 Bob 30 M
3 David 40 M
```
在上面的代码中,`dropna()` 方法的 `subset` 参数指定了要删除的列,`inplace` 参数表示原地修改。
阅读全文