Группировка по диапазону номеров строк в кадре данных - PullRequest
0 голосов
/ 05 августа 2020

У меня есть фрейм данных с 5000 строками, я хочу разделить его на несколько фреймов данных на основе значения строки.

object     result 
1200           1             
1201           0             
1202           1             
1203           0             
1204           0             

Номера строк объекта повторяются для каждых 300 строк. Для строк 1200-1250 один фрейм данных, 1251-1300 другой фрейм данных и т. Д.

Ожидаемый результат, например:

Dataframe1:

object  result
1200     1
1201     0
1203     0
..
1250     1

Dataframe 2:

object  result
1251     1
1252     0
..
1301     1

1 Ответ

0 голосов
/ 05 августа 2020

Вы можете сделать это с помощью деления.

df['groupObject'] = df['object'].div(50).round().astype(int)

Теперь вы хотите разделить отдельные целые числа в фрейме данных. Вот все наши группы:

groups = df['groupObject'].unique().values.tolist()

dfs = []
for group in groups:
   dfs.append(df[df['groupObject'] == group]

EDIT: поскольку 50, по-видимому, не является константой, нарежьте фрейм данных следующим образом:

df_temp = df[df['object'].astype(int) > 1250]] 

, а затем выполните шаги, описанные выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...