广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python:使用pandas对excel数据筛选选择
  • 512
分享到

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

pythonpandasexcel 2023-09-13 20:09:17 512人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

1.筛选方式1:直接筛选 #直接筛选 #DataFrame索引使用[], #直接索引语法:df[] 1.1 直接筛选,选择单列数据:df["列"] 2直接筛选,选择多列数据:df[["列1","列2"]](注意:多嵌套列) 3直接筛选,选择

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

--结束END--

本文标题: Python:使用pandas对excel数据筛选选择

本文链接: https://www.lsjlt.com/news/406469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python:使用pandas对excel数据筛选选择
    1.筛选方式1:直接筛选 #直接筛选 #DataFrame索引使用[], #直接索引语法:df[] 1.1 直接筛选,选择单列数据:df["列"] 2直接筛选,选择多列数据:df[["列1","列2"]](注意:多嵌套列) 3直接筛选,选择...
    99+
    2023-09-13
    python pandas excel
  • python使用pandas实现筛选功能方式
    目录1 筛选出数据的指定几行数据2 筛选出数据某列为某值的所有数据记录3 模式匹配4 范围区间值筛选5 获取某一行某一列的某个值6 获取原始的numpy二维数组7 根据条件得到某行元...
    99+
    2022-11-11
  • excel筛选求和函数怎么使用
    这篇文章主要介绍“excel筛选求和函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“excel筛选求和函数怎么使用”文章能帮助大家解决问题。excel筛选求和函数使用方法:首先进入exce...
    99+
    2023-07-02
  • Python 教学 | Pandas 妙不可言的条件数据筛选
    目录 Part 1  前言 Part 2  Excel 的数据筛选与分布统计 Part 3  Pandas 条件数据筛选 1、条件数据筛选的不同维度 (1) 比较数据值 (2) 是否为空值 (3) 文本内容筛选 (4) 数据值长度 (5)...
    99+
    2023-09-02
    python pandas 开发语言
  • 利用pandas怎么实现按条件筛选数据
    本篇文章给大家分享的是有关利用pandas怎么实现按条件筛选数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用布尔型DataFrame对数据进行筛选使用一个条件对数据进行筛...
    99+
    2023-06-06
  • Python数据分析之 Pandas Dataframe条件筛选遍历详情
    目录一、条件筛选二、Dataframe数据遍历for...in...语句iteritems()方法iterrows()方法itertuples()方法一、条件筛选 查询Pandas ...
    99+
    2022-11-11
  • Python数据分析之Pandas Dataframe条件筛选遍历的方法
    这篇文章主要介绍“Python数据分析之Pandas Dataframe条件筛选遍历的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python数据分析之Pandas Dat...
    99+
    2023-06-30
  • 【python】数据挖掘分析清洗——特征选择(特征筛选)方法汇总
    目录 前言一、过滤法1.1 基于方差1.2 相关系数 二、包裹式2.1 随机森林2.2 XGBoost重要性分析2.3 SFS序列前向选择算法(Sequential Forward Sel...
    99+
    2023-09-02
    python 数据挖掘 机器学习
  • 怎么用Python实现数据筛选与匹配
    这篇文章给大家分享的是有关怎么用Python实现数据筛选与匹配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据筛选要求我们在表中筛选出符合条件的数据。数据匹配需要我们在多个表之间匹配相关的数据。与之前一样,完成...
    99+
    2023-06-29
  • 用Python实现数据筛选与匹配实例
    目录案例一:数据筛选案例二:数据匹配下面我们将学习两个项目案例代码,分别解决Excel常见场景中的数据筛选问题和数据匹配问题。 数据筛选要求我们在表中筛选出符合条件的数据。数据匹配需...
    99+
    2022-11-13
  • 如何在PHP中使用数据筛选函数
    PHP是一种流行的编程语言,常用于Web开发。无论是在开发哪个Web应用程序,数据筛选都是一个重要的任务。 从一个数据集中组合数据的过程需要使用数据筛选函数。在PHP中,有许多内置的函数可以帮助您筛选数据。本文将详细介绍如何使用这些函数,以...
    99+
    2023-05-19
    PHP编程 数据筛选函数 数据操作
  • 100天精通Python(数据分析篇)——第69天:Pandas常用数据筛选方法(between、isin、loc、iloc)
    文章目录 一、布尔索引 二、between() 三、isin() 1. 单列筛选 2. 多列筛选 3. 通过字典的形式传递多个条件 4. 删除异常值...
    99+
    2023-09-17
    python pandas 数据分析
  • 使用Python的filter()函数进行列表筛选
    使用Python的filter()函数进行列表筛选filter()函数是Python内置的一个高阶函数,用于筛选满足指定条件的元素,并将其组成一个新的列表返回。在列表处理中,filter()可以起到非常重要的作用,可以大大简化代码,提高效率...
    99+
    2023-11-18
    Python filter() 列表筛选
  • 使用oracle怎么实现一对多数据分页查询筛选
    使用oracle怎么实现一对多数据分页查询筛选?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。先来看下第一次sql是如何写的查询之后在外面做...
    99+
    2022-10-18
  • 怎么在Javascript中使用filter()函数筛选数据
    本篇文章给大家分享的是有关怎么在Javascript中使用filter()函数筛选数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.filter()语法:var ...
    99+
    2023-06-14
  • R语言:数据筛选match的使用详解
    数据筛选是在分析中最常用的步骤,如微生物组分析中,你的OTU表、实验设计、物种注释之间都要不断筛选,来进行数据对齐,或局部分析。 今天来详解一下此函数的用法。 match match...
    99+
    2022-11-12
  • 怎么在R语言中使用筛选数据
    这期内容当中小编将会给大家带来有关怎么在R语言中使用筛选数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放...
    99+
    2023-06-14
  • Python入门之使用pandas分析excel数据
    目录1.问题2.方案2.1.安装2.2.读写文件2.3.数据操作2.4.数据筛选2.5.数据写入2.6.数据删除3.讨论 总结1.问题 在python中,读写excel数据方法很多,...
    99+
    2022-11-12
  • Matlab读取excel并利用拉依达准则筛选数据的全过程
    目录1、Matlab读取Excel表格1.1 导入数据1.2 选择并打开要导入的.xlsx文件1.3 选择数据区域,选择输出到matlab工作区的数据类型1.4 导入成功,在工作区域...
    99+
    2022-11-12
  • java8使用流的filter来筛选数据的实现
    本文主要介绍了java8使用流的filter来筛选数据的实现,分享给大家,具体如下: package chapter1; import java.util.ArrayList;...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作