私は3D測定(約27k行)のデータを持つパンダのデータフレームを持っています。私はすでに3つの座標列(x、y、z)からなるマルチインデックスを作成しました。データは、(y方向に沿って複数のX-Z面)のようになり:ここパンダのデータフレーム減算の断面
Analog 1
Position Y Position X Position Z
y0 x0 z0 value0
y0 x0 z1 value1
y0 x0 z2 value2
y0 x1 z0 value3
y0 x1 z1 value4
y0 x1 z2 value5
y1 x0 z0 value6
y1 x0 z1 value7
y1 x0 z2 value8
y1 x1 z0 value9
y1 x1 z1 value10
y1 x1 z2 value11
は一例である:私はクロスの値を減算する次のステップにおいてsample data
他のすべてのxz平面からのy=y0
のセクション/スライスでデータを正規化します。現在、すべての行をループしています:
for row in data.itertuples():
ind = row[0]
value = row[1]
ref = data["Analog 1"].ix[(y0, ind[1], ind[2])]
data["Analog 1"].ix[ind] = value - ref
もっとエレガントな方法がありますか?
それは列としてインデックス値を復元した後、興味のある行からのすべての行を減算するsub
を呼び出すためにIMO
reset_index
に容易であろう
を私の答えはあなたの質問が解決した場合、あなたはそれを受け入れることができ、私の答えの左上に空の目盛りがあるだろう、これはそうです質問は答えられないままではありません – EdChum