別のcolumn_Pandasに基づいて行間の差を計算します

カリード

python / pandasを使用して、いくつかの列に基づいて行間の差を計算したいと思います。小さな例を使ってもっとよく説明できると思います。だから、私は次のデータを持っています:

 Number of rows       A             B
 1                    4             NaN
 2                    2             NaN
 3                    2             1
 4                    3             NaN
 5                    2             NaN

そして、私は次のデータを取得したいと思います:

 Number of rows      A            B           C
 3                   2            1           2

それで、私がここで何をしたかを説明しましょう。まず、値が1である列Bの行を識別する必要があります(行番号3の値は1です)。次に、この行の前後の2行(行番号3)の違いを見つけて、結果を列Cとして表示する必要があります。この例では、行番号3の前の2行は、行番号1と次の2行です。行番号3は行番号5です。列Aの行番号1と行番号5の値の差は2(4-2 = 2)です(最後に、行は列の値のみを持つようにしますC-これは簡単な作業であり、私はその中で助けを必要としません)。説明できればと思います。よろしくお願いします。

rafaelc

1つの解決策は、インデックスを取得して使用しi-2i+2

i = df.loc[df.B.eq(1)].index.tolist()
j = [(i_-2,i_+2) for i_ in i ]

df.loc[df.B.eq(1), 'C'] = [df.A.iloc[a] - df.A.iloc[b] for (a,b) in j]

n   A   B   C
0   1   4   NaN NaN
1   2   2   NaN NaN
2   3   2   1.0 2.0
3   4   3   NaN NaN
4   5   2   NaN NaN

または、コースをもう一度スライスb=1して、期待どおりの出力を得ることができます

df[df.B.eq(1)]
    n   A   B   C
2   3   2   1.0 2.0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

HiveQL-条件に基づいて2つの行間の時間差を計算します

分類Dev

Rでは、行間の差に基づいて新しい列を計算します

分類Dev

別の列に基づいて2つのスタンプの差を計算します

分類Dev

時間の経過に伴う一致する観測値に基づいて差を計算します

分類Dev

日付に基づいてセル間の差異の割合を計算します

分類Dev

行の値に基づいて計算を実行します

分類Dev

Rの2つの列に基づいて差を計算します

分類Dev

条件付きの列の値に基づいて、連続するパンダの行の日付間の差を計算します

分類Dev

30分間隔に基づいて分単位の差を計算しますか?

分類Dev

前日の計算に基づいて再帰計算を実行します

分類Dev

pandas DataFrame:別の列のブール値に基づいて合計を計算します

分類Dev

別の列に基づいて列の間隔の合計を計算する

分類Dev

別の列の前の行に基づいて1つの列を計算します

分類Dev

タイムゾーンオフセットに基づいて別の国の時間を計算します

分類Dev

pandas:別の列の値に基づいてすべての行のジャッカードの類似性を計算します

分類Dev

PHPの別の列値に基づいて列値を計算します

分類Dev

R:指定された値に基づいて行の差を計算する

分類Dev

列の個別の値ごとに特定の条件を持つ行に基づいて、Pandasデータフレームのpercを計算します

分類Dev

列名に基づいて2つの列間の相関を計算します

分類Dev

Jquery Datatableは、別の列に基づいて列を計算します

分類Dev

エポックに基づいて経過時間の%を計算します

分類Dev

別の列の1つの列に基づいて行の値を見つけ、計算を行います

分類Dev

値を取得し、その値に基づいて計算を行います

分類Dev

パンダ-以前に計算された行の値に基づいて行の値を計算します

分類Dev

MySQL SUM列エイリアスに基づいて2つの列間の差異の割合(変更なし)を計算します

分類Dev

別の列の値に基づいて行のみを集計します

分類Dev

パンダは他の行の合計/差に基づいて新しい行を追加します

分類Dev

配列内の信号に基づいて計算を実行します

分類Dev

別のデータセットの列に基づいて統計(合計、平均など)を計算します

Related 関連記事

  1. 1

    HiveQL-条件に基づいて2つの行間の時間差を計算します

  2. 2

    Rでは、行間の差に基づいて新しい列を計算します

  3. 3

    別の列に基づいて2つのスタンプの差を計算します

  4. 4

    時間の経過に伴う一致する観測値に基づいて差を計算します

  5. 5

    日付に基づいてセル間の差異の割合を計算します

  6. 6

    行の値に基づいて計算を実行します

  7. 7

    Rの2つの列に基づいて差を計算します

  8. 8

    条件付きの列の値に基づいて、連続するパンダの行の日付間の差を計算します

  9. 9

    30分間隔に基づいて分単位の差を計算しますか?

  10. 10

    前日の計算に基づいて再帰計算を実行します

  11. 11

    pandas DataFrame:別の列のブール値に基づいて合計を計算します

  12. 12

    別の列に基づいて列の間隔の合計を計算する

  13. 13

    別の列の前の行に基づいて1つの列を計算します

  14. 14

    タイムゾーンオフセットに基づいて別の国の時間を計算します

  15. 15

    pandas:別の列の値に基づいてすべての行のジャッカードの類似性を計算します

  16. 16

    PHPの別の列値に基づいて列値を計算します

  17. 17

    R:指定された値に基づいて行の差を計算する

  18. 18

    列の個別の値ごとに特定の条件を持つ行に基づいて、Pandasデータフレームのpercを計算します

  19. 19

    列名に基づいて2つの列間の相関を計算します

  20. 20

    Jquery Datatableは、別の列に基づいて列を計算します

  21. 21

    エポックに基づいて経過時間の%を計算します

  22. 22

    別の列の1つの列に基づいて行の値を見つけ、計算を行います

  23. 23

    値を取得し、その値に基づいて計算を行います

  24. 24

    パンダ-以前に計算された行の値に基づいて行の値を計算します

  25. 25

    MySQL SUM列エイリアスに基づいて2つの列間の差異の割合(変更なし)を計算します

  26. 26

    別の列の値に基づいて行のみを集計します

  27. 27

    パンダは他の行の合計/差に基づいて新しい行を追加します

  28. 28

    配列内の信号に基づいて計算を実行します

  29. 29

    別のデータセットの列に基づいて統計(合計、平均など)を計算します

ホットタグ

アーカイブ