我在使用 loc 选择具有 NaN 值的帧时遇到问题。这是我使用的功能。
def replace_nan(df, di):
df.fillna(-1, inplace=True)
for key, value in di.items():
df.loc[ (df["meter_id"]==key) & (df["Values"]== np.nan), "Values"]=value
return df
我已经检查了 NaN 值是否为 np.nan 值,在这种情况下,我需要替换"值"列中的所有 NaN 值,并牢记其他列meter_id中的某些类别。
我想知道如何在不替换 nan 的情况下处理这个问题,因为我的解决方案是用 -1 替换 nan,同时更改条件 df["值"]== -1,并且函数可以毫无问题地工作。
你可以通过以下方式获取nan值:
df = df.loc[df['Values'].isnull()]
这将获取"值"为 nan 的所有行