У меня есть куча задач, которые нужно равномерно распределить по диапазону дат.
Списки задач всегда содержат 5 элементов, исключая последний блок, который будет варьироваться от 1 до 5 элементов.
Процесс, который я собрал, выдает следующую структуру данных:
[{'Project': array([['AAC789A'],
['ABL001A'],
['ABL001D'],
['ABL001E'],
['ABL001X']], dtype=object), 'end_date': '2020-10-01'},
{'Project': array([['ACZ885G_MA'],
['ACZ885H'],
['ACZ885H_MA'],
['ACZ885I'],
['ACZ885M']], dtype=object), 'end_date': '2020-10-02'},
{'Project': array([['IGE025C']], dtype=object), 'end_date': '2020-10-03'}]
... но мне действительно нужен следующий формат ...
Project,end_date
AAC789A,2020-10-01
ABL001A,2020-10-01
ABL001D,2020-10-01
ABL001E,2020-10-01
ABL001X,2020-10-01
ACZ885G_MA,2020-10-02
ACZ885H,2020-10-02
ACZ885H_MA,2020-10-02
ACZ885I,2020-10-02
ACZ885M,2020-10-02
IGE025C,2020-10-03
Я посмотрел на повторяя и цепляясь, используя itertools, но я, кажется, никуда не денусь с этим.
Я впервые много работаю с Python. Как это обычно достигается в Python?
Вот как я сейчас пытаюсь это сделать, но я получаю ошибку ниже.
df = pd.concat([pd.Series(row['end_date'], row['Project'].split(','))
for _, row in df.iterrows()]).reset_index()
AttributeError: 'numpy.ndarray' object has no attribute 'split'