版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
条件过滤与⾼级选择DataFrame数据筛选DataFramedatafiltering升级任务:经纬天下-成为【理数官】UpgradeTask:JingweiTianxia-Becomea[LiShuGuan]⻓⽼的指引"你已掌握了DataFrame中选择⾏列的基础法⻔。
今⽇,我们将更进一步,学习如何根据特定'⽔情条件'筛选数据,并运⽤更⾼级的'神符'进⾏复杂选择。"—智水长老升级任务进度TheprogressoftheUpgradetask当前任务任务:
条件筛选-DataFrame数据筛选进行中>>>已完成任务任务:单脉梳理-PandasSeries构建沙盘-DataFrame创建与查看精准定位-DataFrame选择基础已完成任务:
读取奏报与修复遗漏-Pandas数据读取与缺失值处理后续任务待解锁完成本任务,成为【理数官】!本次任务:条件筛选-DataFrame数据筛选Thistask:Conditionalfiltering-DataFramedatafiltering任务⽬标掌握使⽤布尔索引进⾏条件过滤深⼊理解.loc[]在条件筛选和⾏列同时选择中的⾼级应⽤了解.iloc[]在特定场景下的⾼级选择技巧01第一节"法阵"布设:布尔索引与条件过滤"Normalarray"layout:BooleanIndexandConditionalfiltering单一'阵眼':基于单一条件的筛选Single'arrayeye':Screeningbasedonasinglecondition布尔索引的原理布尔索引是Pandas中⾮常强⼤的数据筛选⽅式。它通过创建一个布尔类型的Series(True/False)然后⽤这个Series来选择DataFrame中对应为True的⾏。单一'阵眼':基于单一条件的筛选Single'arrayeye':Screeningbasedonasingleconditionimport
pandas
as
pddata_dict=
{'⽔库名称':
[
'三峡⽔库
',
'丹江⼝⽔库
','⼩浪底⽔库
',
'葛洲坝⽔库
'],'总库容(亿⽴⽅⽶)':
[393,290.5,90.5,
15.8],'所在河流':
[
'⻓江',
'汉江',
'黄河
',
'⻓江
'],'建成年份
':
[2006,1973,
2001,
1988]}df_reservoirs=pd.DataFrame(data_dict)#条件:
筛选建成年份晚于2000年的⽔库condition_after_2000=df_reservoirs
[
'建成年份
']>
2000print("条件
(布尔Series):")print(condition_after_2000)#应⽤布尔索引reservoirs_after_2000=df_reservoirs
[condition_after_2000]print("\n建成年份晚于2000年的水库:")print(reservoirs_after_2000)示例代码02第二节⾼级"神符":.loc[]的进阶应⽤Advanced"DivineTalisman":Advancedapplicationof.loc[].loc[]与条件过滤:'按名施法,条件为辅'.loc[]andconditionalfiltering:'Castbyname,withconditionsassecondary'.loc[]与布尔条件.loc[]的第一个参数可以接收布尔Series,⽤于条件筛选⾏。其第⼆个参数可以指定需要选择的列。示例代码#筛选建成年份晚于2000年的⽔库,#并只显示
'⽔库名称
'和'总库容(亿⽴⽅⽶)'reservoirs_info_after_2000=df_reservoirs.loc
[df_reservoirs
[
'建成年份
']>
2000,[
'⽔库名称
',
'总库容(亿⽴⽅⽶)']]print("建成年份晚于2000年的⽔库(名称和库容):")print(reservoirs_info_after_2000)基本语法:df.loc[boolean_series,column_list].loc[]同时选择⾏列.loc[]simultaneouslyselectsrowsandcolumnsrow_indexer可以是·单个标签·标签列表.loc[]的参数:loc[row_indexer,column_indexer]column_indexer可以是·单个标签·标签列表·标签切⽚·布尔Series·标签切⽚.loc[]⾏列选择代码示例.loc[]columnselectioncodeexample#假设df_reservoirs的⾏索引已设置为
'⽔库名称
'df_reservoirs_indexed=df_reservoirs.set_index(
'⽔库名称
')print("带索引的⽔库
DataFrame:")print(df_reservoirs_indexed)#选择
'三峡⽔库
'
的
'总库容(亿⽴⽅⽶)'capacity_sanxia=df_reservoirs_indexed.loc
[
'三峡⽔库
',
'总库容(亿⽴⽅⽶)']print(f"三峡⽔库的总库容
:{capacity_sanxia}亿⽴⽅⽶
")#选择'丹江⼝⽔库
'和'⼩浪底⽔库
'的'所在河流
'和'建成年份
'selected_data=df_reservoirs_indexed.loc
[
[
'丹江⼝⽔库
',
'⼩浪底⽔库
'],
[
'所在河流
',
'建成年份
']]
print("丹江⼝和⼩浪底的河流与建成年份
:")print(selected_data)示例代码03第三节⾼级"神符":.iloc[]的选择技巧Selectiontipsforadvanced"DivineTalisman":.iloc[].iloc[]同时选择⾏列.iloc[]simultaneouslyselectsrowsandcolumnsrow_indexer和column_indexer都必须是·单个整数·
整数列表·
整数切⽚基本语法:iloc[row_indexer,column_indexer]与.loc[]不同,.iloc[]是基于整数位置的,不是基于标签的。.iloc[]同时选择⾏列.iloc[]simultaneouslyselectsrowsandcolumnsrow_indexer和column_indexer都可以是·单个整数·
整数列表·
整数切⽚.iloc[]⾏列选择代码示例.iloc[]columnselectioncodeexample#选择第1⾏
(位置0)
的所有列first_row_all_columns=df_reservoirs.iloc
[0]print("第—⾏所有数据
:")print(first_row_all_columns)#选择所有⾏的第2列(位置1,
I总库容(亿⽴⽅⽶)I)second_column_all_rows=df_reservoirs.iloc
[:,1]print("第⼆列所有数据
:")print(second_column_all_rows)#选择第1到2⾏
(位置0到1)的第1到3列
(位置0到2)subset_iloc=df_reservoirs.iloc
[0:2,0:3]#不包含结束位置print("特定⾏列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防跌倒科普宣讲
- 痤疮外用药物治疗规范
- 2025-2026学年苏科版数学八年级下册期末复习必考点1:数据的收集分层练习 含答案
- 胰腺炎急性期护理处理要点
- (2026.05.12)在全区2026年基层X建工作推进会上的讲话
- 《磁现象》教学课件
- 《物体的浮沉条件》课件
- 书籍材质设计要点分析
- 浙江科技馆建设施工方案
- 防火墙自动化配置课程设计
- 《调相机检修导则第1部分 本体》
- 非同步体外电除颤护理课件
- 《高血压病康复》课件
- 上海大学马克思主义与社会科学方法论习题解答
- -终止办学期间学员安置方案
- TKT模块一重点知识复习总结串讲
- 艾社康 -中国戈谢病患者诊疗状况及疾病负担调研报告2023
- 辽宁省专业技术资格评定表
- 《激光原理及应用》课后部分参考答案 陈鹤鸣
- 烟草行业安全风险分级管控和事故隐患排查治理双重预防机制课件
- 城市控制性详细规划
评论
0/150
提交评论