Допустим, у меня есть следующие данные, извлеченные из базы данных:
data = [
{'db_id': 1, 'start': '2020-02-02', 'end': '2020-02-05'},
{'db_id': 2, 'start': '2020-02-04', 'end': '2020-02-06'},
{'db_id': 3, 'start': '2020-02-02', 'end': '2020-02-04'}
]
df = pd.DataFrame(data)
Я хочу преобразовать это в строку для каждой комбинации date
/ db_id
, включая дату начала и окончания , Поэтому я хочу получить следующий DataFrame:
result_data = [
{'db_id': 1, 'date': '2020-02-02'},
{'db_id': 1, 'date': '2020-02-03'},
{'db_id': 1, 'date': '2020-02-04'},
{'db_id': 1, 'date': '2020-02-05'},
{'db_id': 2, 'date': '2020-02-04'},
{'db_id': 2, 'date': '2020-02-05'},
{'db_id': 2, 'date': '2020-02-06'},
{'db_id': 3, 'date': '2020-02-02'},
{'db_id': 3, 'date': '2020-02-03'},
{'db_id': 3, 'date': '2020-02-04'},
]
result_df = pd.DataFrame(result_data)
Какой эффективный способ сделать это в pandas (в наборе данных несколько сотен тысяч строк).