我有 2 個資料幀 df_products_cp,就像這個:
| product_id | 版本 | 國家 |
|---|---|---|
| 1111 | 2 | 一氧化碳 |
| 1111 | 2 | BR |
| 1111 | 2 | MX |
| 2222 | 2 | 一氧化碳 |
| 3333 | 2 | 一氧化碳 |
| 3333 | 2 | MX |
| 4444 | 2 | 一氧化碳 |
| 4444 | 2 | BR |
| 4444 | 2 | MX |
和 df_products_ec 這樣的:
| product_id | 版本 | 國家 |
|---|---|---|
| 1111 | 3 | 一氧化碳 |
| 1111 | 3 | MX |
| 2222 | 3 | 一氧化碳 |
| 4444 | 3 | 一氧化碳 |
| 4444 | 3 | BR |
當在兩個資料框中都找到 product_id/country 組合時,如何將兩者連接起來,以便我只得到一個像這樣的資料框?
| product_id | 版本 | 國家 |
|---|---|---|
| 1111 | 2 | 一氧化碳 |
| 1111 | 3 | 一氧化碳 |
| 1111 | 2 | MX |
| 1111 | 3 | MX |
| 2222 | 2 | 一氧化碳 |
| 2222 | 3 | 一氧化碳 |
| 4444 | 2 | 一氧化碳 |
| 4444 | 3 | 一氧化碳 |
| 4444 | 2 | BR |
| 4444 | 3 | BR |
uj5u.com熱心網友回復:
merge那就讓我們做wide_to_long
out = pd.wide_to_long(df1.merge(df2,on=['product_id','country']),
'version',
['product_id','country'],
j = 'drop',
suffix = '\w ').reset_index().drop(['drop'],axis = 1)
Out[275]:
product_id country version
0 1111 CO 2
1 1111 CO 3
2 1111 MX 2
3 1111 MX 3
4 2222 CO 2
5 2222 CO 3
6 4444 CO 2
7 4444 CO 3
8 4444 BR 2
9 4444 BR 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/524018.html
標籤:Python熊猫
下一篇:將緯度和經度轉換為浮點數
