2015-05-31 4 views
1

я следующий ДФ:Классификация данных в новой колонке

Column 1 
1 
2435 
3345 
104 
505 
6005 
10000 
80000 
100000 
4000000 
4440 
520 
... 

Эта структура не является лучшим для построения гистограммы, которая является основной целью. Бункеры действительно не решают проблему, по крайней мере, от того, что я тестировал до сих пор. Вот почему мне нравится создавать свои собственные контейнеры в новой колонке:

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

Column 1 Column2 
1   < 10000 
2435  < 10000 
3345  < 10000 
104   < 10000 
505   < 10000 
6005  < 10000 
10000  < 50000 
80000  < 150000 
100000  < 150000 
4000000  < 250000 
4440  < 10000 
520   < 10000 
... 

Как только я доберусь туда, создание сюжета будет намного проще.

Спасибо!

ответ

2

Там есть панда эквивалент этой cut есть раздел, описывающий эта here. cut возвращает открыто закрыты интервалы для каждого значения:

In [29]:  
df['bin'] = pd.cut(df['Column 1'], bins = [0,10000, 50000, 150000, 25000000]) 
df 

Out[29]: 

    Column 1     bin 
0   1   (0, 10000] 
1  2435   (0, 10000] 
2  3345   (0, 10000] 
3  104   (0, 10000] 
4  505   (0, 10000] 
5  6005   (0, 10000] 
6  10000   (0, 10000] 
7  80000  (50000, 150000] 
8  100000  (50000, 150000] 
9 4000000 (150000, 25000000] 
10  4440   (0, 10000] 
11  520   (0, 10000] 

DTYPE колонны является Category и может быть использован для фильтрации, подсчета, прокладка и т.д.

1

numpy.histogram принимает параметр bins, который может быть целым массивом и возвращает массив счетчиков в этих ячейках. Итак, если вы запустите

import numpy as np 

counts, _ = np.histogram(df[`Column 1`].values, [10000, 50000, 150000, 250000]) 

У вас будут корзины, которые вы хотите. Отсюда, вы можете делать все, что вы хотите, в том числе черчения числа отсчетов в каждом бине:

plot(counts) 
+1

'' hist'' -> '' гистограммы '' ('' hist'' - это pyplot или что-то еще). –

+0

Хорошо, спасибо - но он возвращает линейную диаграмму? – Christopher

+0

Что бы вы ни хотели - '' plot (.) '' Делает линию или точки. '' bar'' делает бары. Как только вы в этот момент, вы должны проверить галерею matplotlib для того, что работает для вас. В этом случае это не классическая гистограмма. –

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