私は一般的にはPythonとプログラミングには初めてです。他の列の対応する位置でパンダの条件付き戻り値
私は、pandasの別の列の対応する位置にカンマ区切り値を返し、この出力を新しい列に格納する方法を理解しようとしています。私は次のような出力たい
key_list = [cat, dog, pig]
A B
---------------------
1 cat
1, 2 dog, cat
1, 2, 3 pig, dog, cat
以下の私の例を参照してください:だから
A B cat_result dog_result pig_result
----------------------------------------------------------------
1 cat 1 NAN NAN
6, 2 dog, cat 2 6 NAN
8, 3, 1 pig, dog, cat 1 3 8
を、私はキーの存在をチェックできるようにしたいと思います(A、BまたはC) B列に存在する場合は、そのセル内の対応するコンマ区切り値の列Aの値を返します。
これまでのところ、私はこれがあります。各key_resultための新しい列を作成していない場合、キーはBまたは0の中に存在している場合は1を与える
for key in key_list:
df["{}_result".format{key}] = df.apply(lambda _: int(key in _.B), axis=1)
を。ここからどこに行くのか、これが正しいアプローチであるかはわかりません。どんな助けも大歓迎です。ありがとう!
これは素晴らしいことですが、私は本当に申し訳ありませんが、私の問題を簡略化してキーを1文字に減らしました。これをフレーズ全体に合わせる方法がありますか? key_list = [a、b、c]ではなく、key_list = [cat、dog、pig]?元のQを追加するように更新します。 – 0mm3
同じ方法で動作します。 – piRSquared
ありがとう、時間を割いてくれてありがとう! – 0mm3