将范围[0,1]内的值离散化为10个箱子

2024-04-25 17:03:54 发布

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

data = pd.read_csv('C:\\User\\Desktop\\20_p_n1.csv',sep=',')
#print(data)
list = data['F'].tolist()
#print(list)
pd.qcut(list,10, labels=None, retbins=False, precision=1, duplicates='drop')

这里我已经将dataframe转换为list,以便将其传递给pd.qcut(). 在

这是我得到的输出。我的数据包含介于[0,1]之间的值,值为0.1,0.2,0.5等,但我只能生成一个类别。在

^{2}$

在数据.head()

    F
0   0
1   0
2   0
3   0

pd.qcut output

data.head()


Tags: csv数据readdatalabelsheadseplist
1条回答
网友
1楼 · 发布于 2024-04-25 17:03:54

尝试使用pd.cut。在

[In] 1: pd.cut(np.random.rand(100), 10)

[Out]1: [(0.348, 0.38], (0.156, 0.188], (0.316, 0.348], (0.348, 0.38], (0.156, 0.188], (0.059, 0.0914], (0.348, 0.38], (0.156, 0.188], (0.348, 0.38], (0.284, 0.316]]
Categories (10, object): [(0.059, 0.0914] < (0.0914, 0.124] < (0.124, 0.156] < (0.156, 0.188] ... (0.252, 0.284] < (0.284, 0.316] < (0.316, 0.348] < (0.348, 0.38]]

相关问题 更多 >