python dataframe fillna
时间: 2024-10-11 19:04:07 浏览: 24
在Python的pandas库中,`fillna()`函数用于填充DataFrame中的缺失值(NaN)。这个函数非常有用,因为它允许你用几种策略替换缺失值,如指定特定的值、使用前一项的值、使用后一项的值,或者使用整个列或行的平均值、中位数等统计信息。
基本语法如下:
```python
df.fillna(value, inplace=False, method=None, limit=None)
```
- `value`: 可以是一个常数值,也可以是另一个Series,用来替换缺失值。
- `inplace` (默认为False): 如果设置为True,会直接修改原数据框,如果不设置或设置为False,则返回一个新的填充后的DataFrame。
- `method`: 可选,可以是'backfill', 'bfill' (回溯填充), 'pad' 或 'ffill' (向前填充)。
- `limit`: 可选,如果指定了方法为'ffill'或'bfill',它表示只填充前或后续多少个空值。
例如:
```python
# 填充所有 NaN 为0
df.fillna(0)
# 使用前一个非缺失值填充
df.fillna(method='ffill')
# 使用后一个非缺失值填充
df.fillna(method='bfill')
```
相关问题
dataframe fillna 示例
好的,下面是一个 dataframe fillna 的示例代码:
```python
import pandas as pd
import numpy as np
# 创建包含空值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, 8],
'C': [9, 10, 11, np.nan]})
# 使用 0 填充空值
df.fillna(0)
# 输出结果
A B C
0 1.0 5.0 9.0
1 2.0 0.0 10.0
2 0.0 7.0 11.0
3 4.0 8.0 0.0
```
在这个示例中,我们使用 `fillna` 方法来将 DataFrame 中的空值填充为 0。可以看到,原来包含空值的 DataFrame 现在已经被填充为了一个完整的 DataFrame。
dataframe fillna 众数
可以使用`pandas.DataFrame.mode()`函数来获取DataFrame中每列的众数,然后使用`pandas.DataFrame.fillna()`函数将缺失值填充为众数。具体操作如下所示:
```python
import pandas as pd
# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({'A': [1, 2, None, 4, 5], 'B': [None, 7, , 9, 10], 'C': [11, 12, 13, None, 15]})
# 获取每列的众数
mode = df.mode().iloc[0]
# 将缺失值填充为众数
df.fillna(mode, inplace=True)
# 输出填充后的DataFrame
print(df)
```
输出结果为:
```
A B C
0 1.0 10.0 11.0
1 2.0 7.0 12.0
2 2.0 8.0 13.0
3 4.0 9.0 13.0
4 5.0 10.0 15.0
```
阅读全文