dataframe 移除空值
时间: 2024-09-07 18:05:01 浏览: 43
pandas.DataFrame删除/选取含有特定数值的行或列实例
DataFrame 是pandas库中的重要数据结构,它允许你在表格形式下操作数据。当你需要移除 DataFrame 中的空值(NaN 或 None)时,可以使用 pandas 提供的一些函数。主要有以下几种方法:
1. **dropna()** 函数:这是一个通用方法,用于删除含有缺失值的行或列。例如:
```python
df = df.dropna() # 删除所有含有空值的行
df = df.dropna(axis=1) # 删除包含空值的列
```
2. **fillna()** 函数:可以用来填充空值,可以指定默认值替换。如果你只想删除,可以设置 `method='drop'` 和 `axis=0` 或 `axis=1`:
```python
df = df.fillna(drop=True) # 删除含有空值的行
df = df.fillna(drop=True, axis=1) # 删除含有空值的列
```
3. **isnull() 和 notnull()**:这两个函数会返回布尔型的 Series,你可以选择性地删除它们对应的元素:
```python
mask = df.isnull() # 创建一个布尔型的 mask
df = df[~mask] # 使用 ~ 操作符取反,保留非空值部分
```
4. **loc 和 iloc**:通过标签或位置索引来选取不包含空值的部分:
```python
df = df.loc[df['column_name'].notnull()] # 仅保留 'column_name' 列非空值的行
```
每种方法的选择取决于你的具体需求和数据集的特点。
阅读全文