我们可以使用pd.cut获得箱子和标签的中点或最右边的数字吗?

2024-10-01 05:07:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在测试这个代码

labels = pd.interval_range(start=0, freq=1, end=55)
bins = pd.interval_range(start=0, freq=1, end=55)
dataset['DVScores'] = pd.cut(dataset['DV'], bins=bins, labels=labels).fillna(labels[0])

它给了我分数范围,但不是整数。所以,我看到了:

        DVScores  
0         (10, 11]  
1           (2, 3]  
2           (1, 2]  
3           (0, 1]  
4         (13, 14]  

我想把它转换成这样的格式:

11
3
2
1
14

我看了看中间和右边,但我不能让它只给我一个数字。我相信,如果你硬编码,像这样:

bins = [0, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5, 5.25, 5.5, 5.75, 6, 6.25, 6.5, 6.75, 7, 7.25, 7.5, 7.75, 8, 8.25, 8.5, 8.75, 9, 9.25, 9.5, 9.75, 10, np.inf]

我有很多这样的东西,它们都有点不同,所以我希望能做得更像这样:

bins= pd.interval_range(start=0, freq=1, end=55)

Tags: 代码labelsrangestartdataset分数endpd