📜  Pandas.fillna()

📅  最后修改于: 2020-10-29 03:07:24             🧑  作者: Mango

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