Pandas教程-Pandas DataFrame.fillna()
我们可以使用 fillna() 函数填充数据集中的空值。
语法:
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
参数:
- value: 用于填充空值的值,或者是一个 Series/dict/DataFrame。
- method: 用于在重新索引的 Series 中填充空值的方法。
- axis: 采用行/列的整数或字符串值。我们需要填充缺失值的轴。
- inplace: 如果为 True,则在空白处填充值。
- limit: 是一个整数值,指定连续的前向/后向 NaN 值填充的最大数量。
- downcast: 采用一个字典,指定如何降级,例如 Float64 到 int64。
返回:
它返回一个对象,其中填充了缺失值。
示例1:
import pandas as pd
# Create a dataframe
info = pd.DataFrame(data={'x':[10,20,30,40,50,None]})
print(info)
# Fill null value to dataframe using 'inplace'
info.fillna(value=0, inplace=True)
print(info)
输出
x
0 10.0
1 20.0
2 30.0
3 40.0
4 50.0
5 NaN
x
0 10.0
1 20.0
2 30.0
3 40.0
4 50.0
5 0.0
示例2:
下面的代码用于填充包含一些 NaN 值的 DataFrame。
import pandas as pd
# Create a dataframe
info = pd.DataFrame([[np.nan,np.nan, 20, 0],
[1, np.nan, 4, 1],
[np.nan, np.nan, np.nan, 5],
[np.nan, 20, np.nan, 2]],
columns=list('ABCD'))
info
输出
A B C D
0 NaN NaN 20.0 0
1 1.0 NaN 4.0 1
2 NaN NaN NaN 5
3 NaN 20.0 NaN 2
示例3:
在下面的代码中,我们使用 fillna 函数仅填充了一些 NaN 值。
info = pd.DataFrame([[np.nan,np.nan, 20, 0],
[1, np.nan, 4, 1],
[np.nan, np.nan, np.nan, 5],
[np.nan, 20, np.nan, 2]],
columns=list('ABCD'))
info
info.fillna(0)
info.fillna(method='ffill')
values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
info.fillna(value=values)
info.fillna(value=values, limit=1)
输出
A B C D
0 0.0 1.0 20.0 0
1 1.0 NaN 4.0 1
2 NaN NaN 2.0 5
3 NaN 20.0 NaN 2