jupyter 布尔过滤与数据离散化

布尔过滤

import numpy as np
import pandas as pd
data = pd.Series(np.random.randn(1000))
data.describe()

在这里插入图片描述
找出大于0的,全为NAN的删除

data[data>0].dropna(how = 'all')
data[np.abs(data) > 3].dropna(how = 'all')

在这里插入图片描述
为了便于分析,连续数据常常被离散化

data = pd.DataFrame(np.random.randint(1,50,(20,2)),columns = ['k1','k2'])
data.head(6)

在这里插入图片描述
欲了解k1数据的分布情况

bins = [0,10,20,30,40,50] #给数据分区间
cats = pd.cut(data.k1,bins)        # 可以使用 right = False 控制左右括号的开闭
cats#给出数据所在区间

在这里插入图片描述

cats.value_counts()   #计数每一个范围的元素个数,由个数从高到低排列

在这里插入图片描述

pd.cut(data.k1,bins, right=False)

在这里插入图片描述

data = np.random.randn(1000)
cats = pd.cut(data, 4)#将数据在整个数据范围内进行均分成4个部分
cats

在这里插入图片描述

cats.value_counts()

在这里插入图片描述

cats = pd.qcut(data, 4)#将数据在整个数据范围内进行个数均分,使每个区间有相同的个数的元素
cats

在这里插入图片描述

cats.value_counts()#注意,区间

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值