他の列の値に基づいてデータフレームに新しい列を追加する

マルティン・ヴァン・アムステルダム

私はこれについて多くの質問を読みましたが、それらの解決策を自分の問題に適用する方法を理解できませんでした。使用するdf.apply必要df.assignがあると思いますが、ドキュメントを読んだ後でもその方法がわかりません

これは私のデータです:

d = {'switchopen': [True, True, False, False, False, False, False, False, False, False, False, False, False, True, True, False, False, True ],
     'switchclose': [ False, False, False, False, False, True, True, True, True, True, False, False, False, False, False, False, False, False]}

df = pd.DataFrame(data=d)

開いているとき switchopen == True & switchclose == False

閉まっているとき switchopen == False & switchclose == True

動いているとき switchopen == False & switchclose == False

私の現在の解決策はこれです:

dfopen = df[(df.switchclose == False) & (df.switchopen == True)]
dfopen['Open'] = 'open'
dfclose = df[(df.switchclose == True) & (df.switchopen == False)]
dfclose['Moving'] = 'close'
dfmoving = df[(df.switchclose == False) & (df.switchopen == False)]
dfmoving['Close'] = 'moving'

dfs = [dfopen, dfclose, dfmoving]
dfz = pd.concat(dfs, sort= False)
dfz = dfz.sort_index(ascending=True)

dfz['Position'] = dfz['Position'].fillna(dfz['Open'])
dfz['Position'] = dfz['Position'].fillna(dfz['Close'])
print(dfz['Position'])

それは私が欲しいものを私に与えますが、私は次のようなより良い解決策を探しています:

df['Close'] = (df.switchclose == True & df.switchopen == False)
df['Open'] = (df.switchclose == False & df.switchopen == False)
df['Moving'] = (df.switchclose == False & df.switchopen == False)

そして、を使用し.fillnaます。

そのステップが必要でさえない解決策があればそれは最善でしょう

期待される出力は次のとおりです。

       Position
0       open
1       open
2     moving
3     moving
4     moving
5      close
6      close
7      close
8      close
9      close
10    moving
11    moving
12    moving
13      open
14      open
15    moving
16    moving
17      open
スペックバグ

論理的な要件と出力の期待を考慮すると、これは機能するはずです

df.loc[(df['switchopen'] == True) & (df['switchclose'] == False), 'Position'] = 'open'
df.loc[(df['switchopen'] == False) & (df['switchclose'] == True), 'Position'] = 'closed'
df.loc[(df['switchopen'] == False) & (df['switchclose'] == False), 'Position'] = 'moving'

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

他の列に基づいてpysparkデータフレームに新しい列を追加する

分類Dev

既存の列の値に基づいてpandasデータフレームに新しい列を追加する

分類Dev

複数の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

分類Dev

dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

分類Dev

他の列の結果に基づいて、データフレームに新しい列を追加します

分類Dev

他の2つのデータフレームの値に基づいて新しい列を作成する

分類Dev

他の列スパークの値に基づいてデータフレームに列を追加する方法

分類Dev

他の列の値に基づいてデータフレームに列を追加します

分類Dev

他の列の値に基づいてデータフレームに列を追加します

分類Dev

行の最初の値に基づいて、データフレームに新しい列を追加します

分類Dev

他の列のデータフレームrの値に基づいて列を追加します

分類Dev

データ フレームの他の列に基づいて新しい pandas 列を作成する方法は?

分類Dev

空白行の列に基づいてデータフレームに新しい列を追加する

分類Dev

条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

分類Dev

他の行の値に基づいてパンダのデータフレーム列を追加する方法

分類Dev

他のデータフレームに基づいて特定の列値を追加する

分類Dev

Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

分類Dev

pandasデータフレームの他の列に基づいて新しい列を作成します

分類Dev

他の列の値に応じて、データフレームに新しい列を追加する

分類Dev

他の列の値に基づいて、pandasデータフレームの列の値を設定します

分類Dev

パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

分類Dev

データフレームは、他の列に基づいて新しい列を作成します

分類Dev

列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

分類Dev

pandasデータフレーム内の他の列の条件と値に基づいて新しい列を作成する

分類Dev

複数の列の値に基づいて新しいデータフレーム列を作成します

分類Dev

Pandasデータフレームの他の列の値に基づいて列値をカウントする

分類Dev

条件に基づいてパンダデータフレームに新しい列を追加し、異なる列のNan値を置き換えます

分類Dev

Rの条件に基づいて、データフレームに複数の新しい列を追加します

Related 関連記事

  1. 1

    他の列に基づいてpysparkデータフレームに新しい列を追加する

  2. 2

    既存の列の値に基づいてpandasデータフレームに新しい列を追加する

  3. 3

    複数の列の値に基づいてデータフレームに新しい列を追加する

  4. 4

    Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

  5. 5

    dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

  6. 6

    他の列の結果に基づいて、データフレームに新しい列を追加します

  7. 7

    他の2つのデータフレームの値に基づいて新しい列を作成する

  8. 8

    他の列スパークの値に基づいてデータフレームに列を追加する方法

  9. 9

    他の列の値に基づいてデータフレームに列を追加します

  10. 10

    他の列の値に基づいてデータフレームに列を追加します

  11. 11

    行の最初の値に基づいて、データフレームに新しい列を追加します

  12. 12

    他の列のデータフレームrの値に基づいて列を追加します

  13. 13

    データ フレームの他の列に基づいて新しい pandas 列を作成する方法は?

  14. 14

    空白行の列に基づいてデータフレームに新しい列を追加する

  15. 15

    条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

  16. 16

    他の行の値に基づいてパンダのデータフレーム列を追加する方法

  17. 17

    他のデータフレームに基づいて特定の列値を追加する

  18. 18

    Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

  19. 19

    pandasデータフレームの他の列に基づいて新しい列を作成します

  20. 20

    他の列の値に応じて、データフレームに新しい列を追加する

  21. 21

    他の列の値に基づいて、pandasデータフレームの列の値を設定します

  22. 22

    パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

  23. 23

    データフレームは、他の列に基づいて新しい列を作成します

  24. 24

    列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

  25. 25

    pandasデータフレーム内の他の列の条件と値に基づいて新しい列を作成する

  26. 26

    複数の列の値に基づいて新しいデータフレーム列を作成します

  27. 27

    Pandasデータフレームの他の列の値に基づいて列値をカウントする

  28. 28

    条件に基づいてパンダデータフレームに新しい列を追加し、異なる列のNan値を置き換えます

  29. 29

    Rの条件に基づいて、データフレームに複数の新しい列を追加します

ホットタグ

アーカイブ