K. *_* K. 4 python dataframe pandas
我有在Python 2个dataframes - df_item
和df_bill
,如下图所示:
df_item:
item_id item_name
2 Noodles
3 Vegetables
4 Dairy Products
5 Ice Cream
df_bill:
bill_no item_id
201 3
202 2
203 4
204 3
205 5
Run Code Online (Sandbox Code Playgroud)
排的item_id
列df_item
充当每行的主键.我如何引用df_item
内df_bill
的,这样的方式item_id
在df_bill
被转换成item_name
?
预期产出:
df_bill:
bill_no item_name
201 Vegetables
202 Noodles
203 Dairy Products
204 Vegetables
205 Ice Cream
Run Code Online (Sandbox Code Playgroud)
使用map
的Series
,但首先删除列item_id
的drop
或pop
:
s = df_bill['item_id'].map(df_item.set_index('item_id')['item_name'])
df = df_bill.drop('item_id', 1).assign(item_name = s)
Run Code Online (Sandbox Code Playgroud)
要么:
s = df_bill.pop('item_id').map(df_item.set_index('item_id')['item_name'])
df = df_bill.assign(item_name = s)
Run Code Online (Sandbox Code Playgroud)
print (df)
bill_no item_name
0 201 Vegetables
1 202 Noodles
2 203 Dairy Products
3 204 Vegetables
4 205 Ice Cream
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
709 次 |
最近记录: |