Доступ к интервалам бинов с помощью value_count (bins = x) - PullRequest
1 голос
/ 25 мая 2019

Мне нужна помощь с доступом к корзинам, которые создает функция value_count ().

Попытка доступа с печатью, циклы, но я не понимаю, как это работает.

import pandas as pd
sr = pd.Series(data = [1,2,3,3,4,5,7,1,2])
sr.value_counts(bins=2)

фактический вывод:

(0.993, 4.0]    7
(4.0, 7.0]      2

1 Ответ

1 голос
/ 25 мая 2019

Вы можете получить индекс Series:

sr = pd.Series(data = [1,2,3,3,4,5,7,1,2])
s = sr.value_counts(bins=2)
print (s)
(0.993, 4.0]    7
(4.0, 7.0]      2
dtype: int64

print (s.index)
IntervalIndex([(0.993, 4.0], (4.0, 7.0]],
              closed='right',
              dtype='interval[float64]')

, а затем выбрать индексированием - например, первое значение:

print (s.index[0])
(0.993, 4.0]

Если необходимо, выберите значения в первом значении индекса здесьнеобходимо использовать Interval.left и Interval.right, потому что работа с Interval и выбор по индексации не работает:

print (s.index[0].left)
0.993

print (s.index[0].right)
4.0

print (s.index[0][0])

TypeError: объект 'pandas._libs.interval.Interval' не поддерживает индексирование

...