使用
.loc建议这里,因为这些方法
df.Age.isnull(),
df.Gender == i并且
df.Pclass ==j+1可返回该数据帧的切片的视图,或者可以返回副本。这会使大熊猫感到困惑。
如果不使用
.loc,最终会依次调用所有3个条件,这会导致一个称为 链索引
的问题。
.loc但是,当您使用时,只需一步即可访问所有条件,大熊猫不再困惑。
您可以
.loc在pandas文档中阅读有关此内容的更多信息,以及一些不使用时会导致 *** 作失败的示例。
简单的答案是,尽管您通常可以不用使用
.loc而只需输入即可(例如)
df['Age_fill'][(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1)] = median_ages[i,j]
您将始终得到
SettingWithCopy警告,并且您的代码对此会有些混乱。
根据我的经验
.loc,我花了一些时间才得以解决,更新代码有点烦人。但它真的超级简单,非常直观:
df.loc[row_index,col_indexer]。
有关更多信息,请参见有关索引和选择数据的pandas文档。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)