Dataframe replace无法替换d

2024-04-20 09:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用样本中的min/max替换异常数据,但是数据帧.replace不起作用。你知道吗

df =  pd.DataFrame({"value": data.price.values.ravel()},index = data.major_axis.ravel())
result = df.pct_change() 

threshold = np.std(result.value) * 3

maxoutlier = result[result.value > threshold]
minoutlier = result[result.value < -threshold]

minresult = result.ix[result[abs(result.value) < threshold].idxmin()] 
maxresult = result.ix[result[abs(result.value) < threshold].idxmax()] 

result.value.replace(result[result.value > threshold].value, maxresult.value)
result.value.replace(result[result.value < -threshold].value, minresult.value)

两种结果[结果值>;阈值和最大结果值具有相同的类型:dataframe。但是,我不明白为什么它不起作用。谢谢你的帮助。你知道吗

例如,变量结果是一个数据帧

               value
2013-08-19       NaN
2013-08-20 -0.013342
2013-08-21  0.002654
2013-08-22  0.001073
2013-08-23 -0.003744
2013-08-26  0.003702
2013-08-27 -0.029353
2013-08-28  0.005176
.........

2014-12-29 -0.000702
2014-12-30 -0.011763
2014-12-31 -0.019453

[346 rows x 1 columns]

例如,maxoutlier也是数据帧

               value
2013-09-23  0.051114
2014-04-24  0.082200

maxresult是相同的,例如

               value
2013-12-23  0.039175

所以我的目标是用maxresult替换maxoutlier。你知道吗


Tags: 数据dfdatathresholdvalueabsresultmin