預先感謝您的幫助?。ㄏ旅嫣峁┑拇a)(此處的數據)我想刪除 5 厘米到 225 厘米列的 5/6 標準差之外的異常值,并將它們替換為該日期(月/日)和深度的平均值。最好的方法是什么?import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings('ignore')raw_data = pd.read_csv('all-deep-soil-temperatures.csv', index_col=1, parse_dates=True)df_all_stations = raw_data.copy()df_selected_station.fillna(method = 'ffill', inplace=True);df_selected_station_D=df_selected_station.resample(rule='D').mean()df_selected_station_D['Day'] = df_selected_station_D.index.dayofyearmean=df_selected_station_D.groupby(by='Day').mean()mean['Day']=mean.indexmean.head()
1 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
對于更通用的解決方案,假設給您一個帶有df
某些 column 的數據框a
。
from scipy import stats. df[np.abs(stats.zscore(df['a'])) > 5]['a'] = df['a'].mean()
添加回答
舉報
0/150
提交
取消