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 次 |
| 最近记录: |