異なる形式の同様のデータを持つ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]
コメントを追加