У меня есть датафрейм, как показано ниже
df = pd.DataFrame({
'subject_id':[1,1,1,1,2,2,2,2,3,3,4,4,4,4,4],
'readings' : ['READ_1','READ_2','READ_1','READ_3','READ_1','READ_5','READ_6','READ_8','READ_10','READ_12','READ_11','READ_14','READ_09','READ_08','READ_07'],
'val' :[5,6,7,11,5,7,16,12,13,56,32,13,45,43,46],
})
Я хотел бы создать из этого несколько фреймов данных (df1
, df2
). В реальном времени это не должно быть два. Это может быть 10 или 20 в зависимости от размера моих данных. Я спрашиваю об этом, потому что намереваюсь выполнить параллельную обработку . Я разделю свой один огромный df на несколько маленьких фреймов данных и выполню параллельную обработку
, например df1
должен содержать все записи 2 (двух) субъектов, а df2
должен содержать все записи оставшихся 2 субъектов
Пробовал это, но это не правильно
grouped = df.groupby('subject_id')
df1 = grouped.filter(lambda x: x['subject_id']== 2)
Я ожидаю, что мой вывод будет таким
df1 - содержит все записи 2предметы. В режиме реального времени я хочу выбрать 100 предметов и хотел бы, чтобы все их записи были в одном кадре данных
![enter image description here](https://i.stack.imgur.com/esk74.png)
df2 -содержит все записи по 2 предметам. Но в реальном времени я хочу выбрать 100 субъектов и иметь все их записи в одном кадре данных
![enter image description here](https://i.stack.imgur.com/Wv7h2.png)
Как вы можете видеть, существует четкое разделение данныхоснованный на предметах и отсутствие присутствия данных субъекта в нескольких кадрах данных. Как subject_id = 1 has data only in df1
обновленное сообщение
![enter image description here](https://i.stack.imgur.com/0yABv.png)