Расширение года до месяца в pandas фрейме данных и обратной засыпке - PullRequest
0 голосов
/ 06 января 2020

У меня есть фрейм данных с годом и столбцом строк, который я хотел бы расширить, чтобы включить месяцы (1-12) и заполнить их обратной строкой, связанной с каждым годом.

Это начало датафрейм:

Year Data

0   2016     YES
0   2017     NO
0   2018     NO
0   2019     YES

Мне бы тоже хотелось, чтобы это выглядело:

Year  Months Climate
0   2016  1   YES
0   2016  2   YES
0   2016  3   YES
...
0   2017  1   NO
0   2017  2   NO
0   2017  3   NO
0   2017  4   NO

1 Ответ

0 голосов
/ 06 января 2020

Вот способ использования explode:

# df is the given data in question
df.columns = ['year','flag']

# add a list for months 1-12
df['month'] = [list(range(1, 13)) for _ in range(df.shape[0])]

# convert list into rows
df = df.explode('month').reset_index(drop=True)
...