2017-01-28 9 views
2

У меня есть следующий короткий dataframe:Transform dataframe иметь строку для каждого наблюдения в каждый момент времени

A B C 
1 1 3 
2 1 3 
3 2 3 
4 2 3 
5 0 0 

Я хочу вывода, чтобы выглядеть следующим образом:

A B C 
1 1 3 
2 1 3 
3 0 0 
4 0 0 
5 0 0 
1 1 3 
2 1 3 
3 2 3 
4 2 3 
5 0 0 
+0

Непонятно, что вы пытаетесь выполнить, если вы разместите свою попытку, это даст нам лучшую идею или, возможно, некоторые псевдокоды. – wwii

+2

Ваш желаемый результат, похоже, не соответствует "' 'записи для каждого наблюдения A, в каждый момент времени B'''. – wwii

ответ

1

использование pd.MultiIndex.from_product с uniqueA s и B s. Затем reindex.

cols = list('AB') 
mux = pd.MultiIndex.from_product([df.A.unique(), df.B.unique()], names=cols) 
df.set_index(cols).reindex(mux, fill_value=0).reset_index() 

    A B C 
0 1 1 3 
1 1 2 0 
2 1 0 0 
3 2 1 3 
4 2 2 0 
5 2 0 0 
6 3 1 0 
7 3 2 3 
8 3 0 0 
9 4 1 0 
10 4 2 3 
11 4 0 0 
12 5 1 0 
13 5 2 0 
14 5 0 0 
+0

Это сработало, спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^