gpt4 book ai didi

python - 如何在 pandas.cut 中获得合适的级别表示?

转载 作者:行者123 更新时间:2023-11-30 23:23:36 25 4
gpt4 key购买 nike

是否有一种简单的方法来获取 pandas.cut 生成的级别的值?

例如:

import pandas as pd
x = pd.cut(np.arange(0,20), 10)

x
Out[1]:
(-0.019, 1.9]
(-0.019, 1.9]
(1.9, 3.8]
(1.9, 3.8]
(3.8, 5.7]
(3.8, 5.7]
(5.7, 7.6]
(5.7, 7.6]
(7.6, 9.5]
(7.6, 9.5]
(9.5, 11.4]
(9.5, 11.4]
(11.4, 13.3]
(11.4, 13.3]
(13.3, 15.2]
(13.3, 15.2]
(15.2, 17.1]
(15.2, 17.1]
(17.1, 19]
(17.1, 19]
Levels (10): Index(['(-0.019, 1.9]', '(1.9, 3.8]', '(3.8, 5.7]',
'(5.7, 7.6]', '(7.6, 9.5]', '(9.5, 11.4]',
'(11.4, 13.3]', '(13.3, 15.2]', '(15.2, 17.1]',
'(17.1, 19]'], dtype=object)

我想要得到的是这样的:

x.magic_method
Out[2]:
[[-0.019, 1.9], [1.9, 3.8], [3.8, 5.7],
[5.7, 7.6], [7.6, 9.5], [9.5, 11.4],
[11.4, 13.3], [13.3, 15.2], (15.2, 17.1],
[17.1, 19]]

或其他一些更适合操作的表示形式。相反,我们通过使用 x.levels 获取索引,但此表示是一个 unicode 对象,因此我必须使用几个循环来获取我想要的内容。

更新:

顺便说一句,我需要一个可以处理第二个参数中的值序列的解决方案:pd.cut(np.arange(0,20), arr)

最佳答案

您可以通过以下代码将 unicode 列表转换为数组:

import pandas as pd
x = pd.cut(np.arange(0,20), 10)
np.array(map(lambda t:t[1:-1].split(","), x.levels), float)

关于python - 如何在 pandas.cut 中获得合适的级别表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com