数据的筛选
实际工作中我们经常需要处理上万条数据,特别是合并后的数据甚至上亿条,那么我们如何能快速筛选出符合条件的数据呢?
我们以下面的数据为例
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)
在数据获取过程中,数据的排序也是我们经常需要处理的问题。例如:我们需要找出关注者数量前十的用户信息。