我有2個(gè)數(shù)據(jù):交易 項(xiàng)目我需要在交易數(shù)據(jù)中創(chuàng)建“item_category_id”列。transactions['item_category_id'] = 0s=0for i in transactions.item_id: transactions['item_category_id'][s] = items.loc[items['item_id'] == i].item_category_id s+=1但這段代碼運(yùn)行時(shí)間太長了。請(qǐng)幫忙=)
2 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以用來pandas.merge
做您想做的事情(假設(shè)transactions
和items
是兩個(gè) pandas 數(shù)據(jù)框):
import pandas transactions = pandas.merge(transactions, items[["item_id", "item_category_id"]], on="item_id", how="left")

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以嘗試:
transactions.merge(items[['item_id', 'item_category_id']], on='item_id')
這避免了顯式循環(huán),并允許pandas
使用更高效的代碼。
添加回答
舉報(bào)
0/150
提交
取消