DataFrame中的isin查询使用

代码实例:

1)包含

df1=df[ df["学号"].isin(myNumber)]

2)不包含

df1=df[ ~df["学号"].isin(myNumber)]

3)多条件

或(满足某一个即可)

filt_1 = df['name'].isin(['网易','百度'])

filt_2 = df['age'] == df['age'].min()

df2= df[ filt_1 | filt_2 ]

并且(同时满足多个条件)

filter1 = data["Gender"].isin(["Female"])

filter2 = data["Team"].isin(["Engineering", "Distribution", "Finance" ])

data[filter1 & filter2]

=======================================================

  1. DataFrame条件查询操作

获取DataFrame中满足条件的数据

基本格式:

df.loc[条件...]

df.query('条件...')

loc和query如果跟多个条件可以用&、|表示条件之间的关系

#获取Age大于60且小于80的科学家信息

scientists.loc[(scientists['Age']>60)&(scientists['Age']<80)]

scientists.loc[(scientists.Age>60)&(scientists.Age<80)]

scientists.query('Age > 60 & Age < 80')

  1. DataFrame分组聚合操作

指定列分组,并对分组数据的相应列进行行相应的聚合操作

基本格式:

df.groupby(列标签,...).列标签.聚合函数()

df.groupby(列标签,...).agg({'列标签':'聚合',...})

df.groupby(列标签,...).aggregate({'列标签':'聚合',...})

如果聚合的列标签只有一个,则返回的是一个Series数据

常见聚合函数:

方式 说明

mean 计算平均值

max 计算最大值

min 计算最小值

sum 求和

count 计数(非空数据数目)

#按照Occupation职业分组,并计算每组年龄的平均值

scientists.groupby('Occupation').Age.mean()

scientists.groupby('Occupation')['Age'].mean()

#按照Occupation职业分组,并计算每组人数和年龄的平均值

scientists.groupby('Occupation').agg({'Name':'count','Age':'mean'})

  1. DataFrame排序操作

基本格式:

方法 说明

df.sort_values(by=['列标签'],ascending=True) 将DataFrame按照指定列标签按升序进行排序

df.sort_index(ascending=True) 将DataFrame按照行标签升序排序

ascending参数默认是True表示升序

seies也可以使用sort_values和sort_index函数进行排序,只不过series的sort_values方法没有by参数

#按照 Age 从小到大进行排序

scientists.sort_values(by=['Age'],ascending=True)

#按照 Age 从大到小进行排序

scientists.sort_values(by=['Age'],ascending=False)

按照行标签从大到小进行排序

scientists.sort_index(ascending=False)

  1. nlargest和nsmallest函数

基本格式:

方法 说明

df.nlargest(n,columns='列标签')

按照columns指定的列进行降序,并取前n行数据

df.nsmallest(n,columns='列标签') 按照columns指定的列进行升序,并取前n行数据

#获取 Age 最大的前 3 行数据

scientists.nlargest(3,columns='Age')

#获取 Age 最小的前 3 行数据

scientists.nsmallest(3,columns='Age')

相关推荐
shiming88792 分钟前
Python数据分析与可视化
开发语言·python·数据分析
William数据分析3 分钟前
Python数据分析与可视化实战指南
python·数据
Python之栈23 分钟前
Python if 语句优化技巧
python·算法
姑苏老陈43 分钟前
【Python基础】Python文件处理
开发语言·python·python文件操作
yukai080081 小时前
Python 全栈系列271 微服务踩坑记
python·微服务·php
学步_技术1 小时前
Python编码系列—Python工厂方法模式:构建灵活对象的秘诀
开发语言·python·工厂方法模式
秋秋秋叶1 小时前
Python学习——【2.3】for循环
python·学习
会发paper的学渣2 小时前
python 单例模式实现
开发语言·python·单例模式
学步_技术2 小时前
Python编码系列—Python桥接模式:连接抽象与实现的桥梁
开发语言·python·桥接模式
柴华松2 小时前
GPU训练代码
开发语言·python