数据的筛选
实际工作中我们经常需要处理上万条数据,特别是合并后的数据甚至上亿条,那么我们如何能快速筛选出符合条件的数据呢?
我们以下面的数据为例
from pandas import Series,DataFrame # 创建二维列表存储选手信息 lol_list = [['上单','Nuguri',31,78], ['打野','Tian',42,68], ['中单','Doinb',51,83], ['ADC','Lwx',74,72], ['辅助','Crisp',53,69]] # 创建dataframe df = DataFrame(data=lol_list, index=['a','b','c','d','e'], columns=['位置','ID号','年龄','数据']) print(df) #bools1 = df['年龄']>50 #bools2 =df['数据']>70 #df1=df[bools1&bools2] #print(df1)
我们找到年龄大于50的人
bools= df['age']>50 # 首先判断每个人的年龄是否大于50 #大于则会返回True,表示该行被标记为True, # 否则被标记为False。bools记录了每一行是否符合筛选条件, # 是一个Series对象,其中的值是bool类型。 # 根据bools每行的值来对df进行筛选,值为True, # 表示对应的行会留下,否则,则去除。
筛选需要的数据
df1=df[bools] print(df1)
当然我们还可以选择多个条件来筛选
bools1 = df['年龄']>50 bools2 =df['数据']>70 df1=df[bools1&bools2] print(df1)
在数据获取过程中,数据的排序也是我们经常需要处理的问题。例如:我们需要找出关注者数量前十的用户信息。