有网友问python按某一列拆分数据,下面小编就以1040字给大家详细介绍怎样拆分数据,预计阅读需要3分钟!
Pandas是python的三方库,它有一些工具(如Cut或qCut)可以根据给定的面或样本百分位数将数据拆分成块。将这些功能与Groupby相结合,可以非常容易地对数据集进行桶或百分位数分析。这里有一个使用数据拆分的三步方法。
第一步:使用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进行一些统计计算:
这些是等长的桶。要根据样本百分位数获得等大小的桶,请使用qCut。通过标签=False仅获得百分位数。
第三步:返回分位数编号
总结
使用python三方库熊猫拆分数据的方法灵活易用,在实际使用过程中,可以不断沉淀其具体的使用场景和相应的处理方式,将更方便以后的系统学习。
python好书推荐: