Построение гистограммы с диапазоном условных интервалов - PullRequest
0 голосов
/ 02 мая 2018

Я написал следующий код для построения гистограммы из заданного набора значений в столбце CSV-файла:

импорт панд как pd импортировать matplotlib.pyplot как plt импорт numpy

класс createHistogram ():

def __init__(self,csv_file):
    self.csv_file = csv_file

def load_csv(self):
    bin_edge = range(0,100,10)
    tp_data = pd.read_csv(self.csv_file)
    dataframe = pd.DataFrame(tp_data)['tp']
    dataframe.hist(bins=bin_edge)
    plt.show()
    return tp_data

Здесь я получаю гистограмму, если значения меньше 10, 20 ... и так далее, но я хочу, чтобы это было

bin_value <= 10 </p>

10

20

Я новичок в модуле panda ..

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете использовать родной панд cut, который определяет ячейки в виде интервалов.

ser = pd.Series(np.random.randint(1, 100, 50))
bins = range(0, 101, 10)

pd.cut классифицирует данные в ячейки, используя метод Categorical.

In [4]: pd.cut(ser, bins).cat.categories
Out[4]: 
IntervalIndex([(0, 10], (10, 20], (20, 30], (30, 40], (40, 50], (50, 60], (60, 70], (70, 80], (80, 90], (90, 100]]
              closed='right',
              dtype='interval[int64]')

Если вы хотите продолжить их заговор, это будет выглядеть примерно так:

In [5]: pd.cut(ser, bins).value_counts().plot(kind='bar')
Out[5]: <matplotlib.axes._subplots.AxesSubplot at 0x10e673b70>

Bar plot

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