0
我有兩個Python表,訪問者和訂單。 訪客有更多的行比訂單,因爲並不是每個訪客都會購買。使用熊貓來檢查一個表中的值是否出現在另一個表中
我想回到一個名爲非訂單新表,基本上包含所有存在於遊客但不是在訂單標識。
關於如何在Python中使用熊貓來實現這個建議?
我有兩個Python表,訪問者和訂單。 訪客有更多的行比訂單,因爲並不是每個訪客都會購買。使用熊貓來檢查一個表中的值是否出現在另一個表中
我想回到一個名爲非訂單新表,基本上包含所有存在於遊客但不是在訂單標識。
關於如何在Python中使用熊貓來實現這個建議?
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