嗨,我有 2 張這樣的桌子:
產品表
| product_id | 產品 | 網址 |
|---|---|---|
| 23 | 產品一 | 網址 |
| 24 | 產品b | 網址 b |
| 25 | 產品c | 網址 c |
價格表
| product_id | 產品 | 最近更新時間 | 價錢 |
|---|---|---|---|
| 23 | 產品一 | 25/03/2022 | 美元2 |
| 23 | 產品一 | 24/03/2022 | 3美元 |
| 25 | 產品c | 25/03/202 | 4美元 |
| 24 | 產品b | 202 年 3 月 23 日 | 4美元 |
輸出預期為串列:url b
輸出將是產品表中的 url 串列,其中條件是
uniqueProductIdtoday = priceTable[priceTable['last updated']==datetime.date(datetime.now())]['product_id'].unique()
uniqueProductIdtoday 在產品 ID 上正確連接產品表并回傳唯一的產品 ID。
因此,我試圖從產品表中獲取每個指定日期時間尚未在價格表中更新的 url(例如 25/03/2022)。
最有效的方法是什么?在通過合并檢查產品表中的差異之前,我是否將最后更新的 product_id 轉換為串列/資料框?
uj5u.com熱心網友回復:
采用:
product_table = pd.DataFrame({'pid':[1,2,3], 'url':['http://a', 'http://b', 'http://c']})
price_table = pd.DataFrame({'pid':[2,1,1,1,3,2], 'last_updated': ['25/03/2022', '23/03/2022', '22/03/2022', '24/03/2022', '25/03/2022', '24/03/2022']})
ndf = price_table.sort_values('last_updated').drop_duplicates(['pid'], keep = 'last')
keys = ndf[ndf['last_updated']!='25/03/2022']['pid'].unique()
product_table[product_table['pid'].isin(keys)]['url']
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450723.html
上一篇:如果滿足單元格條件,則復制和拆分行-PandasPython
下一篇:Swift:初始化程式'init(_:rowContent:)'要求'HealthStat'符合'Identifiable'
