Ich habe eine Tabelle
Code: Select all
import pandas
data_table_one = {'store': ['A','B', 'C', 'C', 'C'],
'new_item': ['red car', 'red boat', 'red plane', 'green plane', 'red bike'],
'previous_item':['green car', 'green boat', 'green plane', 'yellow plane' , 'green bike'],
'change_date': ['2025-01','2025-01','2025-01','2024-01','2025-01']}
df_table_one = pandas.DataFrame(data_table_one)
Code: Select all
| store | new_item | previous_item | change_date |
|-------|-------------|---------------|-------------|
| A | red car | green car | 2025-01 |
| B | red boat | green boat | 2025-01 |
| C | red plane | green plane | 2025-01 |
| C | green plane | yellow plane | 2024-01 |
| C | red bike | green bike | 2025-01 |
Die gewünschte Ausgabe ist, dass sich ein rotes Auto mit einem grünen Auto verbindet, ein rotes Boot mit einem grünen Boot, ein rotes Fahrrad mit einem grünen Fahrrad und rotes Flugzeug mit gelbem Flugzeug, da sich zuerst gelbes Flugzeug mit grünem Flugzeug und dann grünes Flugzeug mit rotem Flugzeug verbindet
Gewünscht Ausgabe
Code: Select all
| store | latest_item | latest_change_date | first_item | first_change_date |
|-------|-------------|--------------------|--------------|-------------------|
| A | red car | 2025-01 | green car | 2025-01 |
| B | red boat | 2025-01 | green boat | 2025-01 |
| C | red plane | 2025-01 | yellow plane | 2024-01 |
| C | red bike | 2025-01 | green bike | 2025-01 |
Code: Select all
select
a.store,
a.new_item as latest_item,
a.change_date as latest_change_date,
b.previous_item as first_item,
b.change_date as first_change_date
from
df_table_one a
join
df_table_one b
on b.new_item = a.previous_item
and b.store = a.store
;
Mobile version