Все возможные комбинации двух столбцов в DataFrame, оставляя остальные столбцы одинаковыми - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть Pandas Dataframe, например:

  Column_1   Column_2   Column_3   Column_4
0.   a          d          d1         d2
1.   b          e          e1         e2

, и мне нужно сделать все возможные комбинации Column_1 и Column_2 так, чтобы значения Column_3 и Column_4 оставались такими же, как в строке, содержащей Column_2.Это должен быть вывод:

  Column_1   Column_2   Column_3   Column_4
0.   a          d          d1         d2
1.   a          e          e1         e2
2.   b          d          d1         d2
3.   b          e          e1         e2

Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 13 февраля 2019

Я думаю, что вы ищете reindex с несколькими индексами из продукта

col=df.columns
df.set_index(['Column_1','Column_2'],inplace=True)
idx=pd.MultiIndex.from_product([df.index.get_level_values(0),df.index.get_level_values(1)])
df=df.reindex(idx,method = 'ffill').reset_index()
df.columns=col
df

  Column_1 Column_2 Column_3 Column_4
0        a        d       d1       d2
1        a        e       d1       d2
2        b        d       d1       d2
3        b        e       e1       e2
...