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

这篇具有很好参考价值的文章主要介绍了Python:使用pandas对excel数据筛选选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

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

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

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

2.2:多列布尔选择,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://www.toymoban.com/news/detail-567887.html

到了这里,关于Python:使用pandas对excel数据筛选选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 教学 | Pandas 妙不可言的条件数据筛选

    目录 Part 1  前言 Part 2  Excel 的数据筛选与分布统计 Part 3  Pandas 条件数据筛选 1、条件数据筛选的不同维度 (1) 比较数据值 (2) 是否为空值 (3) 文本内容筛选 (4) 数据值长度 (5) 日期筛选 (6) 其他 2、复合条件筛选 Part 4  总结 Part 5  Python教程 在 Python 中,第三方库 Pandas 是数据清

    2024年02月10日
    浏览(27)
  • 【python】数据挖掘分析清洗——特征选择(特征筛选)方法汇总

    本文链接:https://blog.csdn.net/weixin_47058355/article/details/130400400?spm=1001.2014.3001.5501 数据挖掘系列: 缺失值处理方法汇总 离散化方法汇总 离群点(异常值)处理方法汇总 标准化(数据归一化)处理方法汇总 特征选择(特征筛选)方法汇总 特征选择筛选(降维)方法汇总 分类预测方法汇

    2024年02月15日
    浏览(44)
  • Python基于指定范围筛选并剔除Excel表格中的数据

      本文介绍基于 Python 语言,读取 Excel 表格文件,基于我们给定的规则,对其中的数据加以 筛选 ,将 不在指定数据范围内 的数据剔除,保留 符合我们需要 的数据的方法。   首先,我们来明确一下本文的具体需求。现有一个 Excel 表格文件(在本文中我们就以 .csv 格式

    2024年02月08日
    浏览(41)
  • Python Pandas 处理Excel数据 制图

    目录 1、饼状图  2、条形统计图

    2024年02月11日
    浏览(28)
  • Python+pandas数据直接写入和接续写入Excel

    数据类型(3行7列的数据)和: (7行1列的数据) 直接写入两个不同的sheet 效果: 效果 效果 直接写入:(12条消息) 【python学习】-将数据输出存储到CSV或xls,xlsx文件(并实现将不同数据存储在同一份文件的不同sheet)_electrochemjy的博客-CSDN博客_python输出数据到csv 接续写入:Python

    2024年02月03日
    浏览(34)
  • Python之如何使用pandas操作Excel表

    目录 1、前言 2、读取Excel 3、对Excel进行操作 3.1、获取行号、列名  3.2、获取单元格的值,并循环输出  3.3、对空值进行处理,替换  3.4、增加一列,并对新增列的第一行进行赋值 3.5、将修改后数据保存到原文档  3.6、关于循环取数 4、错误处理 5、全部代码 1、前言 网上也有

    2023年04月09日
    浏览(40)
  • 【头歌】——数据分析与实践-python-Pandas 初体验-Pandas数据取值与选择-Pandas进阶

    第1关 了解数据处理对象–Series 第2关 了解数据处理对象-DataFrame 第3关 读取 CSV 格式数据 第4关 数据的基本操作——排序 第5关 数据的基本操作——删除 第6关 数据的基本操作——算术运算 第7关 数据的基本操作——去重 第8关 数据重塑 第1关 Series数据选择 第2关 DataFrame数据

    2024年01月22日
    浏览(60)
  • 用Python的pandas读取excel文件中的数据

    hello呀!各位铁子们大家好呀,今天呢来和大家聊一聊用Python的pandas读取excel文件中的数据。 使用pandas的 read_excel() 方法,可通过文件路径直接读取。注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件、并同时指定sheet下的数据。可以一次读

    2024年02月02日
    浏览(33)
  • python pandas 获取Excel文件下所有的sheet名称,表格数据

    方法1: 一定要加sheet_name=None,才能读取出所有的sheet,否则默认读取第一个sheet,且获取到的keys是第一行的值 方法2:

    2024年02月13日
    浏览(37)
  • 【Python】进阶学习:pandas--read_excel()函数的基本使用

    【Python】进阶学习:pandas–read_excel()函数的基本使用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、

    2024年03月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包