我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python:使用pandas对excel数据筛选选择

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python:使用pandas对excel数据筛选选择

1.筛选方式1:直接筛选

#直接筛选
#DataFrame索引使用[],
#直接索引语法:df[]
1.1 直接筛选,选择单列数据:df["列"]

2直接筛选,选择多列数据:df[["列1","列2"]](注意:多嵌套列)

3直接筛选,选择多行数据:df[2:4]按照位置选取连续的行(切片),前闭后开

2.筛选方式2:条件筛选

#('----------筛选方式2:条件筛选-------------')
#条件筛选
#布尔索引(带条件判断的索引):根据布尔条件选择对应的行
#索引列表中可以使用&、|操作符,但是不能用and、or关键词
#布尔选择的结果还是DataFrame,所以对于结果可以进行切片、索引器等访问

单列布尔选择,df[(df["列"]==条件)]选取某列满足一定条件的行

多列布尔选择,df[(df["列1"]==条件&df["列1"]>条件)]选取多列满足一定条件的行

3.筛选方式3:筛选器筛选

#在Pandas两种数据结构中,原始索引(位置信息)和自定义索引(标签信息)并存
#原始索引(位置信息):小标,即行数组0,1,2,3标号;列数组0,1,2,3标号
#自定义索引(标签信息):小标,即行数组0,1,2,3标号,列名(代码,资产,负债,所有者权益)

#loc索引器:只能使用自定义索引,如果数据中没有自定义索引,则使用原始索引。
#根据行索引和列索引进行选取:先行后列,也可以只选取行索引,
#常见形式如下 1.选择单行/多行数据;
#                      2.选择多行多列数据,通过两个列表选取行列组合;
#                       3.loc布尔选择,按照条件选取单列(多列)满足一定条件的行;
#                      4.loc切片(选择连续的多行多列),通过切片选取连续的行列组合,冒号前后留空代表开口;

#iloc索引器:iloc索引器与loc索引器使用几乎相同。
#iloc索引器只能使用原始索引(位置信息),不能使用自定义索引

import pandas as pd#('----------筛选方式1:直接筛选-------------')#直接筛选#DataFrame索引使用[],#直接索引语法:df[]df1=pd.read_excel(r'C:\Benjamin\Benjamin\Benjamin\Python\Study_example\Demo_panada\demo1.4\TEST1.4.xlsx')print('----------读取表格行,列-------------')print(df1.shape)print('----------读取表格行,列结束-------------')print('----------读取表头(默认前5行)-------------')print(df1.head())print('----------读取表头结束-------------')print('----------读取表尾(默认后5行)-------------')print(df1.tail())print('----------读取表尾结束-------------')#print(old[''])#1.4.1:直接筛选,选择单列数据:df["列"]print('----------选择单列数据,比如:资产列-------------')print(df1["资产"].head())print('----------选择单列数据结束-------------')#1.4.2:直接筛选,选择多列数据:df[["列1","列2"]](注意:多嵌套列)print('----------选择多列数据,比如:资产列,负债列-------------')print(df1[["资产","负债"]].head())print('----------选择多列数据结束-------------')#1.4.3:直接筛选,选择多行数据:df[2:4]按照位置选取连续的行(切片),前闭后开print('----------选择多行数据,切片-------------')print(df1[2:4])print('----------选择多行数据结束-------------')#('----------筛选方式2:条件筛选-------------')#条件筛选#布尔索引(带条件判断的索引):根据布尔条件选择对应的行#索引列表中可以使用&、|操作符,但是不能用and、or关键词#布尔选择的结果还是DataFrame,所以对于结果可以进行切片、索引器等访问#1.5.1:单列布尔选择,df[(df["列"]==条件)]选取某列满足一定条件的行print('----------选择满足条件的列,比如资产>130的行-------------')print(df1[(df1["资产"]>130)])print('----------选择多行数据结束-------------')#1.5.2:多列布尔选择,df[(df["列1"]==条件&df["列1"]>条件)]选取多列满足一定条件的行print('----------选择满足条件的列,比如资产>130的行-------------')print(df1[(df1["资产"]>130)&(df1["负债"]<48)])print('----------选择满足条件的行数据结束-------------')#('----------筛选方式3:索引器筛选-------------')#在Pandas两种数据结构中,原始索引(位置信息)和自定义索引(标签信息)并存#原始索引(位置信息):小标,即行数组0,1,2,3标号;列数组0,1,2,3标号#自定义索引(标签信息):小标,即行数组0,1,2,3标号,列名(代码,资产,负债,所有者权益)#loc索引器:只能使用自定义索引,如果数据中没有自定义索引,则使用原始索引。#根据行索引和列索引进行选取:先行后列,也可以只选取行索引,#常见形式如下 1.选择单行/多行数据;#             2.选择多行多列数据,通过两个列表选取行列组合;#             3.loc布尔选择,按照条件选取单列(多列)满足一定条件的行;#             4.loc切片(选择连续的多行多列),通过切片选取连续的行列组合,冒号前后留空代表开口;#1.6.1:选择单行/多行数据:df.loc['行']、df.loc[['行1','行2']](注意:多嵌套列)print('----------loc行名选择-------------')print(df1.loc[1])print(df1.loc[[1,3]])print('----------选择多行数据结束-------------')#1.6.2:选择多行/多列数据:df.loc[['行1','行2'],['列1','列2']](注意:多嵌套列)print('----------loc行列选择-------------')print(df1.loc[[1,2],["资产","负债"]])print(df1.loc[[6,7],["资产","负债"]])print('----------选择多行数据结束-------------')#1.6.3:loc切片,(选择多行/多列数据):df.loc['行1':'行2','列1':'列2']print('----------loc切片行列选择-------------')print(df1.loc[1:4,:"负债"])print(df1.loc[6:8,"资产":"负债"])print('----------loc切片数据结束-------------')#iloc索引器:iloc索引器与loc索引器使用几乎相同。#iloc索引器只能使用原始索引(位置信息),不能使用自定义索引print('----------iloc切片行列选择-------------')print(df1.loc[1:4,:"负债"])print(df1.iloc[1:4,:3])print('----------iloc切片数据结束-------------')

输出结果:

----------读取表格行,列-------------
(40, 4)
----------读取表格行,列结束-------------
----------读取表头(默认前5行)-------------
   代码   资产  负债    所有者权益
0   1  100  11  1111234
1   2  101  12  1111235
2   3  102  13  1111236
3   4  103  14  1111237
4   5  104  15  1111238
----------读取表头结束-------------
----------读取表尾(默认后5行)-------------
    代码   资产  负债    所有者权益
35  36  135  46  1111269
36  37  136  47  1111270
37  38  137  48  1111271
38  39  138  49  1111272
39  40  139  50  1111273
----------读取表尾结束-------------
----------选择单列数据,比如:资产列-------------
0    100
1    101
2    102
3    103
4    104
Name: 资产, dtype: int64
----------选择单列数据结束-------------
----------选择多列数据,比如:资产列,负债列-------------
    资产  负债
0  100  11
1  101  12
2  102  13
3  103  14
4  104  15
----------选择多列数据结束-------------
----------选择多行数据,切片-------------
   代码   资产  负债    所有者权益
2   3  102  13  1111236
3   4  103  14  1111237
----------选择多行数据结束-------------
----------选择满足条件的列,比如资产>130的行-------------
    代码   资产  负债    所有者权益
31  32  131  42  1111265
32  33  132  43  1111266
33  34  133  44  1111267
34  35  134  45  1111268
35  36  135  46  1111269
36  37  136  47  1111270
37  38  137  48  1111271
38  39  138  49  1111272
39  40  139  50  1111273
----------选择多行数据结束-------------
----------选择满足条件的列,比如资产>130的行-------------
    代码   资产  负债    所有者权益
31  32  131  42  1111265
32  33  132  43  1111266
33  34  133  44  1111267
34  35  134  45  1111268
35  36  135  46  1111269
36  37  136  47  1111270
----------选择满足条件的行数据结束-------------
----------loc行名选择-------------
代码             2
资产           101
负债            12
所有者权益    1111235
Name: 1, dtype: int64
   代码   资产  负债    所有者权益
1   2  101  12  1111235
3   4  103  14  1111237
----------选择多行数据结束-------------
----------loc行列选择-------------
    资产  负债
1  101  12
2  102  13
    资产  负债
6  106  17
7  107  18
----------选择多行数据结束-------------
----------loc切片行列选择-------------
   代码   资产  负债
1   2  101  12
2   3  102  13
3   4  103  14
4   5  104  15
    资产  负债
6  106  17
7  107  18
8  108  19
----------loc切片数据结束-------------
----------iloc切片行列选择-------------
   代码   资产  负债
1   2  101  12
2   3  102  13
3   4  103  14
4   5  104  15
   代码   资产  负债
1   2  101  12
2   3  102  13
3   4  103  14
----------iloc切片数据结束-------------

来源地址:https://blog.csdn.net/sunlight_vip/article/details/131729040

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python:使用pandas对excel数据筛选选择

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python pandas如何根据指定条件筛选数据

PythonPandas提供了多种筛选数据的方法,包括布尔掩码、过滤方法、正则表达式和自定义函数。通过使用这些技术,可以根据年龄、名称、模式匹配或其他复杂条件过滤数据。最佳实践包括使用索引过滤、列访问器和避免全扫描。
Python pandas如何根据指定条件筛选数据
2024-04-02

excel筛选求和函数怎么使用

这篇文章主要介绍“excel筛选求和函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“excel筛选求和函数怎么使用”文章能帮助大家解决问题。excel筛选求和函数使用方法:1、首先进入ex
2023-07-02

Pandas数据筛选的实用技巧与示例

使用Pandas进行数据筛选的实用技巧Pandas是一个强大的数据处理库,广泛应用于数据分析和数据科学中。在数据处理过程中,数据筛选是一个常见的任务。本文将介绍如何使用Pandas进行数据筛选,并提供具体的代码示例。一、根据条件筛选数据
Pandas数据筛选的实用技巧与示例
2024-01-24

pandas实现对一列/多列进行数据区间筛选

本文讲解了如何使用Pandas对数据框中的数据进行区间筛选。您可以使用df.query()方法或NumPy的where()函数对单列或多列数据进行筛选。筛选条件使用区间条件(如大于、小于)以及逻辑运算符(AND、OR)组合而成。筛选结果可以存储在新的列中,或者直接替换原始数据。
pandas实现对一列/多列进行数据区间筛选
2024-04-02

利用pandas怎么实现按条件筛选数据

本篇文章给大家分享的是有关利用pandas怎么实现按条件筛选数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.使用布尔型DataFrame对数据进行筛选使用一个条件对数据进
2023-06-06

Python数据分析之Pandas Dataframe条件筛选遍历的方法

这篇文章主要介绍“Python数据分析之Pandas Dataframe条件筛选遍历的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python数据分析之Pandas Dataframe条件筛选
2023-06-30

怎么用Python实现数据筛选与匹配

这篇文章给大家分享的是有关怎么用Python实现数据筛选与匹配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据筛选要求我们在表中筛选出符合条件的数据。数据匹配需要我们在多个表之间匹配相关的数据。与之前一样,完成
2023-06-29

怎么在Javascript中使用filter()函数筛选数据

本篇文章给大家分享的是有关怎么在Javascript中使用filter()函数筛选数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.filter()语法:var newAr
2023-06-14

怎么在R语言中使用筛选数据

这期内容当中小编将会给大家带来有关怎么在R语言中使用筛选数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放
2023-06-14

使用Python的filter()函数进行列表筛选

使用Python的filter()函数进行列表筛选filter()函数是Python内置的一个高阶函数,用于筛选满足指定条件的元素,并将其组成一个新的列表返回。在列表处理中,filter()可以起到非常重要的作用,可以大大简化代码,提高效率
使用Python的filter()函数进行列表筛选
2023-11-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录