大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
使用指定的方法填充NA/NaN值。
参数:value :scalar(标量), dict, Series, 或DataFrame
用于填充孔的值(例如0),或者是dict / Series / DataFrame的值,
该值指定用于每个索引(对于Series)或列(对于DataFrame)使用哪个值。
不在dict / Series / DataFrame中的值将不被填充。该值不能是列表(list)。
method :{‘backfill’,’bfill’,’pad’,’ffill’,None},默认为None
填充重新索引的系列填充板/填充中的holes的方法:
将最后一个有效观察向前传播到下一个有效回填/填充:
使用下一个有效观察来填充间隙。
axis : {0或’index’,1或’columns’}
填充缺失值所沿的轴。
inplace : bool,默认为False
如果为True,则就地填充。
注意:这将修改此对象上的任何其他视图
(例如,DataFrame中列的无副本切片)。
limit: int,默认值None
如果指定了method,
则这是要向前/向后填充的连续NaN值的最大数量。
换句话说,如果存在连续的NaN数量大于此数量的缺口,
它将仅被部分填充。如果未指定method,
则这是将填写NaN的整个轴上的最大条目数。
如果不为None,则必须大于0。
downcast: dict,默认为None
item-> dtype的字典,如果可能的话,将向下转换,
或者是字符串“infer”,
它将尝试向下转换为适当的相等类型
(例如,如果可能,则从float64到int64)。
返回值:DataFrame
缺少值的对象已填充。
例子>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
… [3, 4, np.nan, 1],
… [np.nan, np.nan, np.nan, 5],
… [np.nan, 3, np.nan, 4]],
… columns=list(‘ABCD’))
>>> df
A B C D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
3 NaN 3.0 NaN 4
将所有NaN元素替换为0>>> df.fillna(0)
A B C D
0 0.0 2.0 0.0 0
1 3.0 4.0 0.0 1
2 0.0 0.0 0.0 5
3 0.0 3.0 0.0 4
我们还可以向前或向后传播非null值>>> df.fillna(method=’ffill’)
A B C D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 3.0 4.0 NaN 5
3 3.0 3.0 NaN 4
将“ A”,“ B”,“ C”和“ D”列中的所有NaN元素分别替换为0、1、2和3>>> values = {‘A’: 0, ‘B’: 1, ‘C’: 2, ‘D’: 3}
>>> df.fillna(value=values)
A B C D
0 0.0 2.0 2.0 0
1 3.0 4.0 2.0 1
2 0.0 1.0 2.0 5
3 0.0 3.0 2.0 4
仅替换第一个NaN元素>>> df.fillna(value=values, limit=1)
A B C D
0 0.0 2.0 2.0 0
1 3.0 4.0 NaN 1
2 NaN 1.0 NaN 5
3 NaN 3.0 NaN 4
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170023.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...