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')

相关推荐
Csvn18 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch891818 小时前
Python主流框架全解析
开发语言·python
sg_knight19 小时前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财19 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張40819 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_4235339919 小时前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz19 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据20 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby20 小时前
springboot读取配置文件
后端·python·flask
阿Y加油吧20 小时前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python