Как я могу вернуть только первый продукт при использовании pd.multiIndex.from_product ()? Или лучший вариант - PullRequest
0 голосов
/ 03 июля 2018

Я использую приведенный ниже код для создания нового индекса для кадра данных.

pd.DataFrame(pd.MultiIndex.from_product([df['Key'],pd.date_range(start='20160101', end='20160301',freq='MS')],names=['key','year_month']))

Вот текущий вывод:

0 (A, 2016-01-01 00:00:00) 1 (A, 2016-02-01 00:00:00) 2 (A, 2016-03-01 00:00:00) 3 (A, 2016-01-01 00:00:00) 4 (A, 2016-02-01 00:00:00) 5 (A, 2016-03-01 00:00:00) 6 (A, 2016-01-01 00:00:00) 7 (A, 2016-02-01 00:00:00) 8 (A, 2016-03-01 00:00:00) 9 (B, 2016-01-01 00:00:00) 10 (B, 2016-02-01 00:00:00) 11 (B, 2016-03-01 00:00:00) 12 (B, 2016-01-01 00:00:00) 13 (B, 2016-02-01 00:00:00) 14 (B, 2016-03-01 00:00:00) 15 (B, 2016-01-01 00:00:00) 16 (B, 2016-02-01 00:00:00) 17 (B, 2016-03-01 00:00:00)

Как я могу изменить этот код, чтобы я возвращал только первый товар? Есть ли отдельная функция или опция для from_product?

Желаемый вывод:

0 (A, 2016-01-01 00:00:00) 1 (A, 2016-02-01 00:00:00) 2 (A, 2016-03-01 00:00:00) 3 (B, 2016-01-01 00:00:00) 4 (B, 2016-02-01 00:00:00) 5 (B, 2016-03-01 00:00:00)

1 Ответ

0 голосов
/ 03 июля 2018

Попробуйте использовать unique

pd.DataFrame(pd.MultiIndex.from_product([df['Key'].unique(),pd.date_range(start='20160101', end='20160301',freq='MS')],names=['key','year_month']))
...