【发布时间】:2020-02-16 12:14:07
【问题描述】:
我想在 Pandas 中加入两个表。
df_types 包含产品类型的范围大小(5000 行)
| Table: TYPES | | |
|--------------|----------|------|
| size_max | size_min | type |
| 1 | 5 | S |
| 6 | 16 | M |
| 16 | 24 | L |
| 25 | 50 | XL |
Pandas 中的数据框代码:
df_types = pd.DataFrame([[1,5,'S'],
[6,16,'M'],
[16,24,'L'],
[25,50,'XL']],
columns = ['size_min','size_max','type'])
df_products 包含产品 id 和大小(12000 行)
| Table: Products | |
|-----------------|------|
| id_product | size |
| A | 6 |
| B | 25 |
| C | 7 |
| D | 2 |
| F | 45 |
| E | 10 |
| G | 16 |
Pandas 中的数据框代码:
df_products = pd.DataFrame([['A',6,],
['B',25],
['C',7],
['D',2],
['F',45],
['E',10],
['G',16]],columns = ['id_product','size'])
我想让这个 SQL 加入 Pandas:
SELECT *.df_products
type.df_types
FROM df_products LEFT JOIN df_types
ON df_products.size >= df_types.size_min
AND df_products.size <= df_types.size_max
结果:
| id_product | size | type |
|------------|------|------|
| A | 6 | M |
| B | 25 | XL |
| C | 7 | M |
| D | 2 | S |
| F | 45 | XL |
| E | 10 | M |
| G | 16 | M |
谢谢! ;-)
【问题讨论】:
-
您的桌子有多大?行数
-
df_types 5000 行和 df_products 12000 行
标签: python pandas dataframe join