📅  最后修改于: 2020-10-29 03:07:24             🧑  作者: Mango
我们可以使用fillna()函数填充数据集中的空值。
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
value
:它是一个用于填充空值的值,或者是一个Series / dict / DataFrame。inplace
:如果为True,它将在空白处填充值。limit
:它是一个整数值,指定连续的前向/后向NaN值填充的最大数量。它返回一个对象,在其中填充了缺少的值。
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
以下代码负责填充包含某些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
在下面的代码中,我们使用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