Вот пример моего фрейма данных,
d = {'id':['aa','aa','aa','aa','dd','dd','dd','ee','ee','ee','ee','ee'],
'B': [3,2.9,4,2.3,3.1,2.2,2.9,4,2.3,3.3,2.9,3],
'C':[1.9,2.2,2.9,0.2,1,2.1,1.3,3,3.1,2.2,2.9,0.2]}
df = pd.DataFrame(data=d)
df['tp'] = pd.to_timedelta(df.groupby('id').cumcount() * 30, unit='S')
df.set_index('tp', inplace=True)
Я пытаюсь дополнить (после заполнения) вышеупомянутый фрейм данных, чтобы каждый уникальный идентификатор имел одинаковую форму.
Вот как я начал,
g = df.groupby('id')
for id, id_unique in g:
print(id_unique)
Я хочу, чтобы каждый id_unique
имел одинаковую форму.т.е. (4,3).Таким образом, все уникальные идентификаторы будут иметь одинаковое количество.
Я могу дополнить последовательность, если используется серия;
pad_sequences(data, padding='post', maxlen=max_seq)
Но я потерял, как дополнять данные.
Как ...
A B C id
tp
00:00:00 1.0 3.0 1.9 aa
00:00:30 1.0 2.9 2.2 aa
00:01:00 2.1 4.0 2.9 aa
00:01:30 1.3 2.3 0.2 aa
00:02:00 0.0 0.0 0.0 aa
A B C id
tp
00:00:00 1.1 3.1 1.0 dd
00:00:30 1.2 2.2 2.1 dd
00:01:00 1.9 2.9 1.3 dd
00:01:30 0.0 0.0 0.0 dd
00:02:00 0.0 0.0 0.0 dd
A B C id
tp
00:00:00 1.0 4.0 3.0 ee
00:00:30 2.1 2.3 3.1 ee
00:01:00 1.3 3.3 2.2 ee
00:01:30 0.9 2.9 2.9 ee
00:02:00 2.0 3.0 0.2 ee
Каким будет мой новый фрейм данных.
A B C
tp
00:00:00 1.0 3.0 1.9
00:00:30 1.0 2.9 2.2
00:01:00 2.1 4.0 2.9
00:01:30 1.3 2.3 0.2
00:02:00 0.0 0.0 0.0
00:00:00 1.1 3.1 1.0
00:00:30 1.2 2.2 2.1
00:01:00 1.9 2.9 1.3
00:01:30 0.0 0.0 0.0
00:02:00 0.0 0.0 0.0
00:00:00 1.0 4.0 3.0
00:00:30 2.1 2.3 3.1
00:01:00 1.3 3.3 2.2
00:01:30 0.9 2.9 2.9
00:02:00 2.0 3.0 0.2