提问人:PlutoSenthil 提问时间:10/27/2021 更新时间:11/25/2022 访问量:4249
FutureWarning:不推荐使用 DataFrame 与 Series 比较的自动重新索引,并将在将来的版本中引发 ValueError
FutureWarning: Automatic reindexing on DataFrame vs Series comparisons is deprecated and will raise ValueError in a future version
问:
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:8:FutureWarning:不推荐使用对 DataFrame 与系列比较进行自动重新索引,并将在将来的版本中引发 ValueError。例如,在之前做left, right = left.align(right, axis=1, copy=False)
left == right
我试图从数据框中删除异常值 我手动使用 Z-Score
numerical_cols=df.select_dtypes(['int64','float64'])
for col in numerical_cols:
feature_value_less_than_3sigma=df[col].mean()-3*(df[col].std())
feature_value_greater_than_3sigma=df[col].mean()+3*(df[col].std())
df = df[~((df[col] < (feature_value_less_than_3sigma)) |(df[col] > (feature_value_greater_than_3sigma)))]
else:
print('\nAfter: ',df.shape)
我不知道这个错误在说什么,我想知道它,任何人都可以用一些简单的例子来解释
答:
0赞
Toro
2/27/2022
#1
而不是:
df = df[~((df[col] < (feature_value_less_than_3sigma)) |(df[col] > (feature_value_greater_than_3sigma)))]
用:
df = df.query('~(%s < @feature_value_less_than_3sigma or %s > @feature_value_greater_than_3sigma)' %(col,col))
这应该会删除错误。
评论
0赞
iparen
9/3/2022
#2
试试这个:
df = df[~((df[col].lt(feature_value_less_than_3sigma)) |(df[col].gt (feature_value_greater_than_3sigma)))]
评论