pandas库学习之DataFrame.fillna函数
pandas库学习之DataFrame.fillna函数
一、简介
pandas.DataFrame.fillna
函数用于填充DataFrame中的缺失值(NaN)。可以用指定的值、方法或前后的值来填充。
二、语法和参数
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
参数:
-
value:标量、字典、Series或DataFrame,表示用来填充缺失值的值。
-
method:{
backfill
,bfill
,pad
,ffill
}, 可选,表示用前面的值或后面的值来填充。- backfill / bfill:用后面的非缺失值填充当前的缺失值。
- pad / ffill:用前面的非缺失值填充当前的缺失值。
-
axis:{0或index, 1或columns},默认值为0,表示填充的轴。
-
inplace:布尔值,默认值为False,表示是否在原地修改DataFrame。
-
limit:整数,可选,表示每个字段填充的最大数量。
-
downcast:字典,可选,表示控制转换到更低数据类型。
三、实例
3.1 用指定值填充缺失值
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan, 4],
'B': [np.nan, 2, 3, 4],
'C': [1, np.nan, np.nan, 4]
})
filled_df = df.fillna(0)
print(filled_df)
输出:
A B C
0 1.0 0.0 1.0
1 2.0 2.0 0.0
2 0.0 3.0 0.0
3 4.0 4.0 4.0
3.2 用前面的值填充缺失值
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan, 4],
'B': [np.nan, 2, 3, 4],
'C': [1, np.nan, np.nan, 4]
})
filled_df = df.fillna(method='ffill')
print(filled_df)
输出:
A B C
0 1.0 NaN 1.0
1 2.0 2.0 1.0
2 2.0 3.0 1.0
3 4.0 4.0 4.0
(0,B)位置任然为NaN是因为其前面没有东西可供填充了
四、注意事项
- 使用
inplace=True
参数可以直接在原DataFrame上进行修改,而不返回新的DataFrame。 method
参数允许使用前后值填充,这在处理时间序列数据时非常有用。- 当使用
limit
参数时,可以控制每个连续缺失值段的最大填充数量。 - 填充缺失值时,应注意数据类型的变化,特别是在使用
downcast
参数时,可以控制将填充值转换为更低的数据类型。
原文地址:https://blog.csdn.net/qq_46396470/article/details/140531360
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!