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

相关推荐
沈浩(种子思维作者)5 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
njsgcs6 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
io_T_T6 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
华研前沿标杆游学6 小时前
2026年走进洛阳格力工厂参观游学
python
Carl_奕然6 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
AI小怪兽7 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机
wszy18097 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
Eric.Lee20217 小时前
python实现 mp4转gif文件
开发语言·python·手势识别·手势交互·手势建模·xr混合现实
EntyIU7 小时前
python开发中虚拟环境配置
开发语言·python
wszy18097 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos