1
私はカーブであるパンダシリーズのデータを持っています。numpy/quantizeによる幾何学的丸め?
「足踏みさせる」ように丸めたいです。さらに、私はステップを現在の値のおよそ10%以内にしたい。 (これを置く別の方法は、ステップを10%単位で、すなわち幾何学的に増加させたいということです)。
私は繰り返し、ゆっくりと何か書いている:私はこのコードを使用したくない
def chunk_trades(A):
try:
last = A[0]
except:
print(A)
raise
new = []
for x in A.iteritems():
if not last or np.abs((x[1]-last)/last) > 0.1:
new.append(x[1])
last = x[1]
else:
new.append(last)
s = pd.Series(new, index=A.index)
return s
を。
私は、これを行うより速く、pythonicな方法を見つけようとしています。私はnumpy.digitize()を使ってみましたが、私はそれが私が探しているとは思いません。どのようにこれに最も近づくためのアイデア? 、対数空間へ
np.exp(np.around(np.log(np.abs(j)), decimals=1)) * np.sign(j)
地図丸めを行い、バック変換:
なぜあなたは 'numpy.digitize'を望んでいませんか? – VBB
範囲は潜在的に0から無限大です。幾何学的にする方法がわかりません。 – cjm2671
OK私はちょうどこれを思いついた:正しい方向の一種であるnp.exp(round(10 * np.log(abs(j)))/ 10)... – cjm2671