I have the following two dataframes
Catalog:
+--------+-------+
| Type | Value |
+========+=======+
| Cat | 3 |
+--------+-------+
| Dog | 2 |
+--------+-------+
| Goose | 1 |
+--------+-------+
And
+----+-------+----------+
| ID | ITEM | QUANTITY |
+====+=======+==========+
| 1 | CAT | 10.0 |
+----+-------+----------+
| 1 | DOG | 1.0 |
+----+-------+----------+
| 1 | GOOSE | 0.1 |
+----+-------+----------+
| 2 | CAT | 0.01 |
+----+-------+----------+
| 2 | DOG | 0.001 |
+----+-------+----------+
| 3 | GOOSE | 0.0001 |
+----+-------+----------+
My goal is to create the following new column
+----+-------+----------+--------+
| ID | ITEM | QUANTITY | Value |
+====+=======+==========+========+
| 1 | CAT | 10.0 | 30 |
+----+-------+----------+--------+
| 1 | DOG | 1.0 | 2 |
+----+-------+----------+--------+
| 1 | GOOSE | 0.1 | 0.1 |
+----+-------+----------+--------+
| 2 | CAT | 0.01 | 0.03 |
+----+-------+----------+--------+
| 2 | DOG | 0.001 | 0.002 |
+----+-------+----------+--------+
| 3 | GOOSE | 0.0001 | 0.0001 |
+----+-------+----------+--------+
Using PySpark, I need to multiply (or in some cases divide) the values in the quantity column by the values in the Value column as matched by the item/type?