2

次のようなデータフレームがあります。

   id_A  id_B  f1_A  f2_A  f3_A  f1_B  f2_B  f3_B  t
      1     2     1     2     3     4     5     6  1
      2     3     4     5     6     7     8     9  0
      3     4     7     8     9     8     7     6  1

次のような結果を生成するために減算を行いたいです。

   id_A  id_B  f1_A-f1_B  f2_A-f2_B  f3_A-f3_B  t
      1     2    -3          -3         -3      1
      2     3    -3          -3         -3      0
      3     4    -1           1          3      1

つまり、(df の 3 列目から 5 列目) (df の 6 列目から 8 列目) を減算し、列のインデックスを fx_A-fy_A に変更します。

使ってみた

df[cols[2:5]].sub(df[cols[5:8]], fill_value=0)

ただし、結果は間違いなく私が望んでいたものではありません。

   f1_A  f1_B  f2_A  f2_B  f3_A  f3_B
    1.0  -4.0   2.0  -5.0   3.0  -6.0
    4.0  -7.0   5.0  -8.0   6.0  -9.0
    7.0  -8.0   8.0  -7.0   9.0  -6.0

私は今、望ましい結果を達成する方法についてはわかりません。私の英語で申し訳ありません。私はまだPythonの初心者です。どんな助けでも大歓迎です!

4

2 に答える 2