あるデータフレームの値(複数の列)が別のデータフレームの値(複数の列)に存在するかどうかを確認します

vvk24

異なる形式の同様のデータを持つ2つのデータフレームがあります

df1:

Nodo      X          Y          Z
CTB3901   CTBX3901   CTBY3901   CTBZ3901
MTR5331   MTRX5331   MTRY5331   MTRZ5331
ADC3451   ADCX3451   ADCY3451   ADCZ3451

df2:

Site_x     Site_y
CTBX3901E  CTBX3901
CTB3901    CTB3901E
CTBZ3901E  CTBZ3901
CTBY3901E  CTB3901
MADX6379E  MADX6379

からのエントリdf2['Site_x', 'Site_y']がいずれかの列にあるかどうかを確認したいと思いますdf1['Nodo','X','Y','Z']データは、両方のフレームで同じ行にある必要はありません。

チェックシャッド後の最終出力は以下のようになります

Site_x     Site_y   Checked
CTBX3901E  CTBX3901  True
CTB3901    CTB3901E  True
CTBZ3901E  CTBZ3901  True
CTBY3901E  CTB3901   True
MADX6379E  MADX6379  False

不器用なデータセットについてはご容赦ください。この部分を正しくするために必死になって、作業していたのと同じデータを貼り付ける必要がありました。

以下の構文でisinメソッドを試しましたが、出力の「チェック済み」列全体にFalseがあります。

df2['Checked'] = df2[['Site_x','Site_y']].isin(df1[['Nodo','X','Y','Z']]).any(axis=1)
クアンホアン

あなたはかなり近いです:

df2['checked'] = df2.apply(lambda x: x.isin(df1.stack())).any(axis=1)

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

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

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ