gpt4 book ai didi

python - 如何将 <1 项归为 0

转载 作者:行者123 更新时间:2023-12-04 10:41:58 27 4
gpt4 key购买 nike

我正在测试下面的代码(感谢 Andy L.)

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]
labels = ['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']

dataset['RatingScore'] = pd.cut(dataset['Rating'], bins=bins, labels=labels, right=True)

它就像我想要的那样工作,除了“评级”字段中 <1 的值。我想捕获所有 <1 的内容,包括任何负数,并将其全部扫描到标记为 0 的 bin 中。我认为 'bins' 和 'labels' 中的前导 0 可以处理这种情况,但事实并非如此。

最佳答案

您可以将左边缘定义为 -np.inf作为任何低于 1 的所有内容(类似于您的右边缘),或者由于唯一未分类的内容将是负数,您可以 .fillna

#bins = [0, 1, 1.25, 1.5 ..., np.inf]
df['RatingScore'] = pd.cut(df['rating'], bins=bins, labels=labels, right=True).fillna(labels[0])

#bins = [-np.inf, 1, 1.25, 1.5, ..., np.inf]
df['RatingScore'] = pd.cut(df['rating'], bins=bins, labels=labels, right=True)
import pandas as pd
import numpy as np
np.random.seed(123)
df = pd.DataFrame({'rating': np.random.normal(0, 10, 5)})

bins = [-np.inf, 1, 5, 9, np.inf]
labels = ['0', '1', '5', '9']

df['RatingScore'] = pd.cut(df['rating'], bins=bins, labels=labels, right=True)
# rating RatingScore
#0 -10.856306 0
#1 9.973454 9
#2 2.829785 1
#3 -15.062947 0
#4 -5.786003 0

关于python - 如何将 <1 项归为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59886177/

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