私は2人のPythonテーブル訪問者との注文を持っています。 訪問者は、すべての訪問者が購入を終了するわけではないので、注文より多くの行を持っています。パンダを使用してあるテーブルの値が別のテーブルに存在するかどうかを調べる
は、私は基本的に受注に訪問者ではなく、中に存在しているIDが含まれてい以外の受注と呼ばれる新しいテーブルを返すようにしたいです。
Pythonでpandasを使用してこれを実装する方法に関する提案はありますか?
私は2人のPythonテーブル訪問者との注文を持っています。 訪問者は、すべての訪問者が購入を終了するわけではないので、注文より多くの行を持っています。パンダを使用してあるテーブルの値が別のテーブルに存在するかどうかを調べる
は、私は基本的に受注に訪問者ではなく、中に存在しているIDが含まれてい以外の受注と呼ばれる新しいテーブルを返すようにしたいです。
Pythonでpandasを使用してこれを実装する方法に関する提案はありますか?
import pandas as pd
visitors = pd.DataFrame({'id': [0, 1, 2, 3, 4]})
orders = pd.DataFrame({'id': [0, 1]})
nonorders=visitors.loc[~visitors.id.isin(orders.id),]
Out[57]:
id
2 2
3 3
4 4
あなたは(ウェンと同じデータを使用して)numpyの中でそれを行うことができます。
np.setdiff1d(visitors,orders)
#array([2, 3, 4])
同じ純粋なパンダで、おそらくですが、多少面倒:
visitors.set_index('id').index.difference(orders.set_index('id').index)
#Int64Index([2, 3, 4], dtype='int64', name='id')
あなたはこれを満足させようとしたコードともしあれば遭遇したエラーを提供する必要があります。 – ToothlessRebel