Pandas高阶篇五(数据的拆分与分割)

数据的拆分

pandas返回的是一个特殊的Categorical对象。 你可以将其看做一组表 示面元名称的字符串。 实际上,它含有一个表示 不同分类名称的levels数组以及一个为年龄数据进行标号的labels属性。
跟“区间”的数学符号 一样,圆括号表示开端,而方括号则表示闭端(包括)。 哪边是闭端可以通过right.
也可以自定义label名称。

代码演示如下:

from pandas import Series,DataFrame
import pandas as pd
import numpy as np
from numpy import nan as NA 
from matplotlib import pyplot as plt
ages = [20,22,25,27,21,23,37,31,61,45,41,32]
#将所有的ages进行分组
bins = [18,25,35,60,100]
#使用pandas中的cut对年龄数据进行分组
cats = pd.cut(ages,bins)
cats
#打印结果:
[(18, 25], (18, 25], (18, 25], (25, 35], (18, 25], ..., (25, 35], (60, 100], (35, 60], (35, 60], (25, 35]]
Length: 12
Categories (4, interval[int64]): [(18, 25] < (25, 35] < (35, 60] < (60, 100]]

#调用pd.value_counts方法统计每个区间的人数
pd.value_counts(cats)
#打印结果:
(18, 25]     5
(35, 60]     3
(25, 35]     3
(60, 100]    1
dtype: int64

#显示第几个区间index值
cats.codes
#打印结果:
array([0, 0, 0, 1, 0, 0, 2, 1, 3, 2, 2
  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值