我们可以使用 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

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档