Python 2.7 - 将一系列拆分为具有相同数量项目的间隔(与 pandas.cut() 类似)

标签 python pandas python-2.7 split series

我有以下系列:

0         79.0
1        220.0
2        185.0
3        199.0
4        226.0
5        141.0
6        341.0
7        151.0
8         57.0
9        313.0
10       273.0
11       113.0
12       328.0

如果我对此使用pandas.cut(),这就是我得到的:

    series  equal_intvls
0   79.0    (0.979, 306.1]
1   220.0   (0.979, 306.1]
2   185.0   (0.979, 306.1]
3   199.0   (0.979, 306.1]
4   226.0   (0.979, 306.1]
5   141.0   (0.979, 306.1]
6   341.0   (306.1, 608.2]
7   151.0   (0.979, 306.1]
8   57.0    (0.979, 306.1]
9   313.0   (306.1, 608.2]
10  273.0   (0.979, 306.1]
11  113.0   (0.979, 306.1]
12  328.0   (306.1, 608.2]

pandas.cut() 给了我一系列具有相同长度(最大值 - 最小值)的间隔,间隔的长度为 2,但从起点开始直到终点的间隔,每个间隔内有几个数字,每个间隔可能不相同。

如果我使用pandas.cut(),我会得到相同长度的间隔,但是我如何将这个系列分割成每个间隔中包含相同数量元素的间隔?

我想要获得的是一个包含这些间隔的新列,其中的元素数量相同。以下面的数组为例:

[1, 7, 7, 4, 6, 3]

我想获得的是这一系列具有相同数量项目的间隔:

[(0.999, 3.667] ,(3.667, 6.333] , (6.333, 7.0]]


(0.999, 3.667] - There are 2 values in this imterval: (1, 3)
(3.667, 6.333] - There are 2 values in this interval (4, 6)
(6.333, 7.0] - And again, 2 values within this interval (7, 7)

我想以类似系列的形式获取间隔,以便我可以将其作为新列输入到原始 df 中。

我尝试过np.splitnp.array_split但没有成功,我还访问了该网站中的一些其他帖子,这些帖子与我想要的类似,但不是似乎真的很适合我的情况。请帮忙。

获得这些间隔的最佳方法是什么?

提前非常感谢

最佳答案

我想您正在寻找qcut :

>>> >>> pd.qcut(pd.Series([1, 7, 7, 4, 6, 3]),3)
0    (0.999, 3.667]
1      (6.333, 7.0]
2      (6.333, 7.0]
3    (3.667, 6.333]
4    (3.667, 6.333]
5    (0.999, 3.667]
dtype: category
Categories (3, interval[float64]): [(0.999, 3.667] < (3.667, 6.333] < (6.333, 7.0]]

关于Python 2.7 - 将一系列拆分为具有相同数量项目的间隔(与 pandas.cut() 类似),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695651/

相关文章:

python - 从通过 `sys.path` 安装的 `pip install -e` 中删除包路径

python - 你能从一个字符串创建一个 Python 列表,同时将特定关键字中的字符保持在一起吗?

python - 删除列中的重复字符

python - 如何获取颜色图的一部分

python - 1064、 "You have an error in your SQL syntax;..."Python MySQL

python-2.7 - 在安装了 Anaconda 的 Mac OSX 10.8 上让 Python 2 和 3 共存的最简单方法

python - Openpyxl 在保存大文件时挂起

python - 忽略配置文件解析器python中不存在的属性

python - 如何在 X_train、y_train、X_test、y_test 中分割图像数据集?

Python pandas 计算 groupby 之后的份额