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

python 利用panadas 进行分类+区分

[复制链接]

95

主题

277

帖子

700

积分

高级会员

Rank: 4

积分
700
发表于 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)

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

Vx:rsnhkx2015  公众号:陈公子的话
回复

使用道具 举报

95

主题

277

帖子

700

积分

高级会员

Rank: 4

积分
700
发表于 2020-12-17 21:12:07 | 显示全部楼层
哥哥为啥这代码贴出来 好丑 我很失望阿
Vx:rsnhkx2015  公众号:陈公子的话
回复

使用道具 举报

47

主题

448

帖子

634

积分

管理员

Rank: 9Rank: 9Rank: 9

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

过段时间应该就好了.....markdown的插件有bug,作者又不积极修...
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

发表回复

本版积分规则

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