Python 有没有一种方法可以切割一个标量?

Python 有没有一种方法可以切割一个标量?,python,pandas,Python,Pandas,我在寻找pd.cut的等价物,但寻找标量 我想这样做: bins = [0, 5, 10, 15, 20, 25, 30, 40, 50, 100, 150] pd.cut(43, bins=bins) 但目前它抛出了一个值错误: ValueError: Input array must be 1 dimensional 可以通过添加[]进行修复: pd.cut([43], bins=bins) 哪些产出: [(40, 50]] Categories (10, interval[int64

我在寻找pd.cut的等价物,但寻找标量

我想这样做:

bins = [0, 5, 10, 15, 20, 25, 30, 40, 50, 100, 150]
pd.cut(43, bins=bins)
但目前它抛出了一个值错误:

ValueError: Input array must be 1 dimensional
可以通过添加
[]
进行修复:

pd.cut([43], bins=bins)
哪些产出:

[(40, 50]]
Categories (10, interval[int64]): [(0, 5] < (5, 10] < (10, 15] < (15, 20] ... (30, 40] < (40, 50] < (50, 100] < (100, 150]]
[(40,50]]
类别(10,区间[int64]):[(0,5]<(5,10)<(10,15)<(15,20)…(30,40)<(40,50)<(50,100)<(100,150)]

但是想知道在Python中是否有更好的方法从标量到区间,或者使用Pandas?

如果您只想获取相关的
interval
对象,您可以构造
IntervalIndex
并使用
get\u loc
进行过滤:

In [2]: bins = [0, 5, 10, 15, 20, 25, 30, 40, 50, 100, 150]

In [3]: ii = pd.IntervalIndex.from_breaks(bins)

In [4]: ii[ii.get_loc(43)]
Out[4]: Interval(40, 50, closed='right')
声明
x
必须是类似数组的一维,因此我猜不是。
pandas.cut
无法从单个整数或浮点值推断维度。您需要将其包装到列表中。