python 分位数计算代码_不知道数据如何进行拆分?python数据拆分3步法,灵活易用...

2e915d2c6a159351978e36d9e1fc9ff8.png

python的三方库pandas有一些能根据指定面元或样本分位数将数据拆分成多块的工具(比如cut或qcut)。将这些函数跟groupby结合起来,就能非常轻松地实现对数据集的桶(bucket)或分位数(quantile)分析了。下面通过三步法来讲解如何使用完成数据拆分,具体如下:

第一步:使用cut方法进行数据切分

In[4]:import pandas as pdIn[5]:from pandas import Series,DataFrameIn[6]:import numpy as npIn[7]:frame=DataFrame({'data1':np.random.randn(1000),                       'data2':np.random.randn(1000)})In[8]:factor=pd.cut(frame.data1,4)    #注意:长度相等In [9]: factor[0:10]Out[9]: 0     (-1.511, 0.231]1      (1.974, 3.716]2     (-1.511, 0.231]3      (0.231, 1.974]4     (-1.511, 0.231]5      (0.231, 1.974]6     (-1.511, 0.231]7     (-1.511, 0.231]8     (-1.511, 0.231]9    (-3.261, -1.511]Name: data1, dtype: categoryCategories (4, interval[float64]): [(-3.261, -1.511] < (-1.511, 0.231]   < (0.231, 1.974] < (1.974, 3.716]]

第二步:基于cut结果进行统计计算

由cut返回的Factor对象可直接用于groupby。因此,可以像下面这样对data2做一些统计计算:

ce06df72bd8b804b01a550d4f6b6091b.png
574af15bbb4e0e9edc4b13187dd28d8a.png

这些都是长度相等的桶。要根据样本分位数得到大小相等的桶,使用qcut即可。传入labels=False即可只获取分位数的编号。

第三步:返回分位数编号

c165a1eed526d3b1e7e308b5a6feb356.png

总结

使用python三方库pandas对数据进行拆分的方法,灵活且易用。在实际的使用过程中可以对其具体的使用场景和相应的处理方法进行不断的沉淀,这样会更便于以后的系统化学习。

python好书推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值