1
私はパンダ内の別の列に個別の値に対して1列に共通の値を見つける
event cust
et1 satya
et1 papu
et1 abc
et1 satya
et1 def
et2 papu
et2 satya
et2 panda
et3 normal
et3 panda
et3 satya
et3 fgh
のようなデータフレームは、今私が得られるはずevents.so本のすべての3種類のために存在する「カスト」をfindoutする必要があります持っています
event cust
et1 satya
et1 satya
個別の(重複を削除できる)ことを心配しないでください。この私のアプローチのために は
x = df[df['event'] == 'et1']
y = df[df['event'] == 'et2']
z = df[df['event'] == 'et3']
df_common = x[x['cust'].isin(y[y['cust'].isin(z.cust)]['cust'])]
である。しかし、これはデータフレームのサイズが巨大になる場合には適切ではないだろうと私はいくつかの50-100 +のイベントのための共通のcustを見つける必要があります。
これを行うには、いくつかのパンダ/ピジョンソニックの方法をお勧めします。事前に感謝します。
jezraelファイン@(すべてのイベントのための共通の)場合には.But私はいくつかの選択events.Likeであるカストは、イベントのための共通のcustを取得したい--ifについてet1&et2(et3を除く)。 – Satya
私はそれに応じて私のdataFrameを最初にフィルタリングする必要があります。 df = df [df ['events']。isin(['et1'、 'et2'])]そして、あなたのアプローチに従うことができます。ちょうどそれをするために存在する任意のパンダの機能(もしあれば)があるのだろうか? – Satya
はい、私は 'isin'と同様のものを書こうと思っています。私はそれを行う機能について知っていません。私は 'groupby'と' apply'を試みますが、成功しません。 – jezrael