Python“替换为无”实际上会替换为以前的值

Python“替换为无”实际上会替换为以前的值,python,pandas,Python,Pandas,pandas”replace功能按预期将目标值替换为另一个: >>将熊猫作为pd导入 >>> >>> >>>t=pd.系列([10,20,30]) >>>t 0 10 1 20 2 30 数据类型:int64 >>>t.replace(to_replace=20,value=222) 0 10 1 222 2 30 数据类型:int64 >>>从努比进口;t、 替换(to_replace=20,value=nan) 0 10.0 1楠 2 30

pandas
replace
功能按预期将目标值替换为另一个:

>>将熊猫作为pd导入
>>>
>>>
>>>t=pd.系列([10,20,30])
>>>t
0    10
1    20
2    30
数据类型:int64
>>>t.replace(to_replace=20,value=222)
0     10
1    222
2     30
数据类型:int64
>>>从努比进口;t、 替换(to_replace=20,value=nan)
0    10.0
1楠
2    30.0
数据类型:64
但当要求替换为
None
时,它将替换为上一个值

t.replace(to_replace=20,value=None) 0 10 1 10 2 30 数据类型:int64
这背后的基本原理是什么,如果有的话?

这是因为
to_replace
是一个标量,而
value
是无。该行为在以下章节中描述:

替换时使用的方法,替换时使用的方法是标量, 列表或元组,值为无


默认方法是
pad
,如果您查看。这可能是因为
None
通常用于表示没有参数。

事实上,
value=None
的唯一选项是某种填充:
'pad','ffill','bfill'
和not
None