-1
我有以下Python代碼:在大熊貓數據幀替換值
consumos=df.iloc[:,0]
df['media_movel'] = rolling_median(consumos, window=30, center=True).fillna(method='bfill').fillna(method='ffill')
desv_padrao=df.stack().std()
threshold = 1000
difference = np.abs(consumos - df['media_movel'])
corr=np.abs(df['media_movel']-desv_padrao)
df['corr']=pd.DataFrame(corr)
outlier = difference > threshold
df.mask(outlier, df['corr'], axis=1)
所以,我有一個包含時間序列數據幀和我的目的是糾正異常值(由admiting,基準數據之間的差滾動中位數必須大於1000,這是閾值)。爲此,我創建了布爾變量outlier
(根據前面的解釋,當出現異常值時爲True),我試圖用(軋製介質列 - 標準偏差)替換那些異常值爲一個掩模,但結果是NaN的時間序列。我不知道爲什麼這些NaN出現,但我需要獲得正確的數據。
任何選項都沒有工作。在第一種情況下,我得到:ValueError:其他形狀必須與ndarray中的自身形狀相同 get中的第二種情況:ValueError:替換長度必須等於系列長度。 – Jvr
這兩個表達式返回了什麼:'df.shape'和'df ['corr']。shape'? – blueogive