Создайте различные диапазоны бинов на основе столбцов данных и получите количество - PullRequest
0 голосов
/ 01 декабря 2019

Я немного новичок в Python. У меня есть кадр данных с тремя столбцами, как показано ниже -

enter image description here

Я хотел бы разделить 'col1' на ячейки с диапазоном 2 и получить соответствующие диапазоны(минимальные, максимальные значения) для двух других столбцов. Кроме того, также хотел узнать количество записей в этих отдельных ячейках -

enter image description here

Я попытался использовать qcut для каждого столбца и получить результат, но некажется, чтобы получить действительные результаты. Результаты не обязательно должны иметь '[', но также могут быть '('.

Кроме того, если диапазоны для других двух столбцов не равны диапазону первого столбца, последнее значение в текущем(другие два столбца) столбец может повторяться до конца.

Любая помощь в том, как создать новый столбец 'range' и 'countx', будет оценена.

1 Ответ

0 голосов
/ 01 декабря 2019

Вы можете сделать это по столбцам с pd.cut

Сначала получите ячейки на основе наибольшего

bins = [2*i for i in range(df['c1'].max()// 2+1)]

[0, 2, 4, 6, 8, 10]

, затем примените cut

df.apply(pd.cut, bins=bins)['c1'].value_counts()

(8, 10]    5
(2, 4]     5
(6, 8]     2
(4, 6]     2
(0, 2]     1
...