使用 value_count(bins=x) 访问 bins 间隔

Accessing the bins intervals with value_count(bins=x)

我需要帮助来访问 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

您可以获得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]')

然后 select 通过索引 - 例如第一个值:

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

如果索引的第一个值中需要 select 值,则必须使用 Interval.left and Interval.right, because working with Interval 和 select,因为索引不起作用:

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

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

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

TypeError: 'pandas._libs.interval.Interval' object does not support indexing