Python .iloc&;fillna-就地=真vs就地=假

Python .iloc&;fillna-就地=真vs就地=假,python,pandas,Python,Pandas,出于好奇,我想快速解释一下以下“问题” 当我这样做的时候: data_ogd.iloc[:, 3:10].fillna(value=0, inplace=True) data_ogd.iloc[:, 3:10] = data_ogd.iloc[:, 3:10].fillna(value=0) 在我的dataframe列中没有任何更改,在这些列中我仍然拥有NAs 但当我这么做的时候: data_ogd.iloc[:, 3:10].fillna(value=0, inplace=True) d

出于好奇,我想快速解释一下以下“问题”

当我这样做的时候:

data_ogd.iloc[:, 3:10].fillna(value=0, inplace=True)
data_ogd.iloc[:, 3:10] = data_ogd.iloc[:, 3:10].fillna(value=0)
在我的dataframe列中没有任何更改,在这些列中我仍然拥有NAs

但当我这么做的时候:

data_ogd.iloc[:, 3:10].fillna(value=0, inplace=True)
data_ogd.iloc[:, 3:10] = data_ogd.iloc[:, 3:10].fillna(value=0)
NAs中充满了0


为什么会发生这种情况?

您可以查看解释,相同的原则-系列的链分配,有时警告,有时不警告。谢谢@jezrael。啊,好的,是的,这是一个共同的问题。顺便说一句,我这次没有收到任何警告。这取决于熊猫的版本,我想在旧版本中应该是警告。@jezrael,好的,酷。非常感谢。有时它也可以工作(当我尝试使用版本0.23.0时),您可以检查解释,相同的原则-系列的链分配,有时警告,有时不。谢谢@jezrael。啊,好的,是的,这是一个共同的问题。顺便说一句,我这次没有收到任何警告。这取决于熊猫的版本,我想在旧版本中应该是警告。@jezrael,好的,酷。非常感谢。有时它也可以工作(当我尝试使用版本0.23.0时)