gpt4 book ai didi

python - 如何仅对数据框中的某些行进行 KNN 测试?

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:18 26 4
gpt4 key购买 nike

我只想对数据框中的几个 NA 单元进行 KNN 测试。我想用接近它的数据填充这些数据,我必须让它适用于我的测试数据框,所以我不想只是设置它。我想填写MasVnrArea中的值

 StyleAndYrDF= trainDF.loc[:,['YearBuilt','Exterior1st','Exterior2nd']]
Temp=trainDF.loc[230:234, ['MasVnrArea']]

def fillIt(df,x):
ID= findNearestHOF(df, x)
return trainDF.loc[ID,'MasVnrArea']

EstimatedMasVnr=Temp.apply(lambda x: fillIt(StyleAndYrDF,x) if (pd.isna(x.loc['MasVnrArea'])) else x.loc['MasVnrArea'])

我不断收到此错误:KeyError: ('MasVnrArea', '发生在索引 MasVnrArea')

最佳答案

您应用的轴方向错误。这将解决您的问题:

EstimatedMasVnr = Temp.apply(lambda x: fillIt(StyleAndYrDF,x) if (pd.isna(x.loc['MasVnrArea'])) else x.loc['MasVnrArea']
, axis=1)

或者,我认为这种表示法更清晰:

EstimatedMasVnr = Temp.apply(lambda row: fillIt(StyleAndYrDF,row) 
if (pd.isna(row['MasVnrArea']))
else row['MasVnrArea']
, axis=1)

关于python - 如何仅对数据框中的某些行进行 KNN 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com