本文概述
我们可以使用fillna()函数填充数据集中的空值。
句法
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
参数
- 值:它是一个用于填充空值的值, 或者是一个Series / dict / DataFrame。
- method:一种用于填充重新索引的Series中的空值的方法。
- axis:行/列的整数或字符串值。我们需要沿着其填充缺失值的轴。
- 就地:如果为True, 它将在空白处填充值。
- 限制:它是一个整数值, 指定连续的前向/后向NaN值填充的最大数量。
- downcast:需要指定一个指定将Float64转换为int64的内容的字典。
Return
它返回一个对象, 在其中填充了缺少的值。
范例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
评论前必须登录!
注册