上一主题 下一主题
返回列表 发新帖

python 利用panadas 进行分类+区分

[复制链接]

66

主题

184

帖子

559

积分

高级会员

Rank: 4

积分
559
发表于 2020-12-17 21:10:59 | 显示全部楼层 | 阅读模式
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

#随机种子
np.random.seed(666)

#25~100 取20个随机数 作为成绩
score_list = np.random.randint(25,100,size=20)
#print(score_list)

#指定多个区间  即不及格 及格  良好 优秀
bins= [0,59,70,80,100]

#每个成绩对应哪个区间
score_cut = pd.cut(score_list,bins=bins)
#print(score_cut)

#统计每个区间的人数
#print(pd.value_counts(score_cut))

df = DataFrame()
df['Students'] = [pd.util.testing.rands(3) for i  in range(len(score_list))]
df['Score'] =score_list
#print(df)

#使用cut 分别判断学生成绩 所在的区间
#print(pd.cut(df['Score'],bins=bins))

#将类别加入到我们的 DataFrame表格中去
#df ['Categories'] =pd.cut(df['Score'],bins=bins)


#这样打印出来的类型 Categories 是我们设置 的区间 0,59  59,70 70,80  80,100 等等  不方便阅读
#print(df)


#我们将这些类别重命名 方便区分和阅读
df['Categories'] = pd.cut(df['Score'],bins=bins,labels=['low', 'middle', 'good', 'perfect'])

#分开写法
#labels=['low', 'middle', 'good', 'perfect']
#df['Categories'] = pd.cut(df['Score'], bins,labels=labels )

print(df)

本来再写其他的,很多库没学过..写个例程熟悉一下

回复

使用道具 举报

66

主题

184

帖子

559

积分

高级会员

Rank: 4

积分
559
发表于 2020-12-17 21:12:07 | 显示全部楼层
哥哥为啥这代码贴出来 好丑 我很失望阿
回复

使用道具 举报

32

主题

298

帖子

470

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
470
发表于 2020-12-18 14:49:11 | 显示全部楼层
小陈 发表于 2020-12-17 21:12
哥哥为啥这代码贴出来 好丑 我很失望阿

过段时间应该就好了.....markdown的插件有bug,作者又不积极修...
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表