返回顶部
首页 > 资讯 > 后端开发 > Python >Python Pandas中布尔索引的用法详解
  • 646
分享到

Python Pandas中布尔索引的用法详解

2024-04-02 19:04:59 646人浏览 泡泡鱼

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

摘要

目录使用布尔索引访问 DataFrame使用.loc[]访问具有布尔索引的数据框使用.iloc[]访问具有布尔索引的数据框使用.ix[]访问具有布尔索引的数据框将布尔掩码应用于数据框

在布尔索引中,我们将根据 DataFrame 中数据的实际值而不是它们的行/列标签或整数位置来选择数据子集。在布尔索引中,我们使用布尔向量来过滤数据。

布尔索引是一种使用 DataFrame 中数据的实际值的索引。在布尔索引中,我们可以通过四种方式过滤数据:

  • 使用布尔索引访问 DataFrame
  • 将布尔掩码应用于数据帧
  • 根据列值屏蔽数据
  • 根据索引值屏蔽数据

使用布尔索引访问 DataFrame

为了访问具有布尔索引的数据帧,我们必须创建一个数据帧,其中数据帧的索引包含一个布尔值,即“真”或“假”。

例子

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

df = pd.DataFrame(dict, index = [True, False, True, False])

print(df)

输出: 

现在我们已经创建了一个带有布尔索引的数据框,之后用户可以在布尔索引的帮助下访问数据框。用户可以使用 .loc[]、.iloc[]、.ix[] 三个函数访问数据帧 

使用.loc[]访问具有布尔索引的数据框

为了使用 .loc[] 访问具有布尔索引的数据帧,我们只需在 .loc[] 函数中传递一个布尔值(True 或 False)。

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

# 使用布尔索引创建数据框
df = pd.DataFrame(dict, index = [True, False, True, False])

# 使用 .loc[] 函数访问数据框
print(df.loc[True])

输出: 

使用.iloc[]访问具有布尔索引的数据框

为了使用 .iloc[] 访问数据帧,我们必须传递一个布尔值(True 或 False),但 iloc[] 函数只接受整数作为参数,因此它会抛出错误,因此我们只能在我们访问数据帧时访问在 iloc[] 函数中传递一个整数 

代码#1:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

# 使用布尔索引创建数据框
df = pd.DataFrame(dict, index = [True, False, True, False])

# 使用 .iloc[] 函数访问数据帧
print(df.iloc[True])

输出:

TypeError

代码#2:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

# 使用布尔索引创建数据框
df = pd.DataFrame(dict, index = [True, False, True, False])


# 使用 .iloc[] 函数访问数据帧
print(df.iloc[1])

输出:

使用.ix[]访问具有布尔索引的数据框

为了使用 .ix[] 访问数据帧,我们必须将布尔值(True 或 False)和整数值传递给 .ix[] 函数,因为我们知道 .ix[] 函数是 .loc[] 的混合体和 .iloc[] 函数。 

代码#1:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

# 使用布尔索引创建数据框
df = pd.DataFrame(dict, index = [True, False, True, False])


# 使用 .ix[] 函数访问数据帧
print(df.ix[True])

输出: 

代码#2:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

# 使用布尔索引创建数据框
df = pd.DataFrame(dict, index = [True, False, True, False])


# 使用 .ix[] 函数访问数据帧
print(df.ix[1])

输出: 

将布尔掩码应用于数据框

在数据框中,我们可以应用布尔掩码。为此,我们可以使用 getitems 或 [] 访问器。我们可以通过给出与数据帧中包含的长度相同的 True 和 False 列表来应用布尔掩码。当我们应用布尔掩码时,它将仅打印我们传递布尔值 True 的数据帧。

代码#1:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["MBA", "BCA", "M.Tech", "MBA"],
		'score':[90, 40, 80, 98]}

df = pd.DataFrame(dict, index = [0, 1, 2, 3])



print(df[[True, False, True, False]])

输出: 

代码#2: 

# importing pandas package
import pandas as pd

# 从csv文件制作数据框
data = pd.read_csv("nba1.1.csv")

df = pd.DataFrame(data, index = [0, 1, 2, 3, 4, 5, 6,
								7, 8, 9, 10, 11, 12])


print(df[[True, False, True, False, True,
	False, True, False, True, False,
				True, False, True]])

输出: 

根据列值屏蔽数据

在数据框中,我们可以根据列值过滤数据。为了过滤数据,我们可以使用不同的运算符对数据框应用某些条件,例如 ==、>、<、<=、>=。当我们将这些运算符应用于数据帧时,它会产生一系列真假。

代码#1:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["BCA", "BCA", "M.Tech", "BCA"],
		'score':[90, 40, 80, 98]}

# 创建数据框
df = pd.DataFrame(dict)

# 使用比较运算符过滤数据
print(df['degree'] == 'BCA')

输出: 

代码#2:

# importing pandas package
import pandas as pd

# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")

# 使用大于运算符过滤数据
print(data['Age'] > 25)

输出: 

根据索引值屏蔽数据: 

在数据框中,我们可以根据列值过滤数据。为了过滤数据,我们可以使用 ==、>、< 等不同的运算符根据索引值创建掩码。

代码#1:

# importing pandas as pd
import pandas as pd

# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
		'degree': ["BCA", "BCA", "M.Tech", "BCA"],
		'score':[90, 40, 80, 98]}


df = pd.DataFrame(dict, index = [0, 1, 2, 3])

mask = df.index == 0

print(df[mask])

输出:

代码#2:

# importing pandas package
import pandas as pd

# 从csv文件制作数据框
data = pd.read_csv("nba1.1.csv")

# 为数据框提供索引
df = pd.DataFrame(data, index = [0, 1, 2, 3, 4, 5, 6,
								7, 8, 9, 10, 11, 12])

# 根据索引值过滤数据
mask = df.index > 7

print(df[mask])

输出: 

以上就是python Pandas中布尔索引的用法详解的详细内容,更多关于Python Pandas布尔索引的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python Pandas中布尔索引的用法详解

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

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

猜你喜欢
  • Python Pandas中布尔索引的用法详解
    目录使用布尔索引访问 DataFrame使用.loc[]访问具有布尔索引的数据框使用.iloc[]访问具有布尔索引的数据框使用.ix[]访问具有布尔索引的数据框将布尔掩码应用于数据框...
    99+
    2024-04-02
  • 怎么使用Python的Pandas布尔索引
    这篇文章主要讲解了“怎么使用Python的Pandas布尔索引”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python的Pandas布尔索引”吧!计算布尔值统计信息import&n...
    99+
    2023-06-02
  • 怎么使用Python中Pandas的索引对齐方法
    本篇内容介绍了“怎么使用Python中Pandas的索引对齐方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.索引对象支持集合运算:联合...
    99+
    2023-06-02
  • MySQL中布尔类型的使用方法详解
    MySQL中布尔类型的使用方法详解 MySQL是一种常用的关系型数据库管理系统,在实际应用中经常需要使用布尔类型来表示逻辑上的真假值。MySQL中布尔类型有两种表示方式:TINYINT...
    99+
    2024-03-15
    mysql 数据类型 布尔值
  • SQLServer中索引的用法详解
    目录一、索引的介绍什么是索引?1、聚集索引和非聚集索引2、索引的利弊3、索引的存储机制二、设置索引的权衡1、什么情况下设置索引2、什么情况下不要设置索引三、聚集索引1、使用SSMS创...
    99+
    2024-04-02
  • 利用Pandas索引和选取数据方法详解
    目录1. 导入数据集2. 列选择3. 行选择数字Index字符串Index4. 行+列选择,找到元素获取北汽2019年11月的销量获取前5个品牌从2019年10月到12月的销量5. ...
    99+
    2024-04-02
  • python——pandas用法详解
    目录 一、pandas简介 1.1 pandas来源 1.2 pandas特点 1.3 pandas的两种主要数据结构 二、 pandas数据结构详解 2.1 pandas——series 2.1.1 由字典创建一个series 2.1....
    99+
    2023-09-22
    python pandas 开发语言
  • SQL Server中索引的用法详解
    索引是一种数据结构,用于提高数据库中数据的查询效率。SQL Server中的索引可以分为聚集索引和非聚集索引两种类型。聚集索引决定了...
    99+
    2023-08-17
    SQL Server
  • Python pandas索引的设置和修改方法
    目录前言创建索引pd.Indexpd.IntervalIndexpd.CategoricalIndexpd.DatetimeIndexpd.PeriodIndexpd.Timedel...
    99+
    2024-04-02
  • MySQL索引详解:了解unique索引的作用及用法
    MySQL索引详解:了解unique索引的作用及用法 在数据库中,索引是一种数据结构,它可以加快数据的检索速度。在MySQL中,索引是一种很重要的数据结构,它可以帮助我们更高效地检索数...
    99+
    2024-04-02
  • pandas中pd.groupby()的用法详解
    在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与dataframe的形式相似。 imp...
    99+
    2024-04-02
  • pandas中DataFrame重置索引的几种方法
    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取、插入等。 小笔总结了以下几种重置索引的方法: import pandas as pd import...
    99+
    2024-04-02
  • 【Python】详解 Pandas 中的 read_csv()
    目录 read_csv() read_csv() pd.read_csv() 是 Pandas 中用于从 CSV 文件中读取数据的函数。它的语法如下: pd.read_csv(filepath_or_buffer, sep=",", ...
    99+
    2023-08-31
    pandas 数据分析 数据挖掘
  • pandas中index索引的作用是什么
    这篇文章给大家介绍pandas中index索引的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、index索引特点更方便的数据查询,使用index查询的时候可以获得性能提升;自动的数据对齐功能;更多更强大的...
    99+
    2023-06-14
  • pandas中join()方法怎么用于索引上的合并
    小编给大家分享一下pandas中join()方法怎么用于索引上的合并,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python有哪些常用库python常用的库:1...
    99+
    2023-06-14
  • Windows 容器中 PHP 的索引使用方法详解
    在 Windows 容器中使用 PHP 时,索引是一个非常重要的概念。索引是一种数据结构,用于快速查找和访问数组中的元素。在 PHP 中,数组是一种非常常见的数据类型,因此索引的使用非常重要。本文将详细介绍在 Windows 容器中使用 ...
    99+
    2023-10-04
    windows 容器 索引
  • pandas中concatenate和combine_first的用法详解
    concatenate主要作用是拼接series和dataframe的数据。 combine_first可以做来填充数据。 其中numpy和panads中都有concatenate(...
    99+
    2023-01-11
    pandas concatenate pandas combine_first pandas concatenate combine_first
  • python中pandas常用命令详解
    pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提...
    99+
    2024-04-02
  • MongoDB数据库索引用法详解
    一.索引详讲 索引是什么,索引就好比一本书的目录,当我们想找某一章节的时候,通过书籍的目录可以很快的找到,所以适当的加入索引可以提高我们查询的数据的速度。 准备工作,向MongoDB中插入20000条记录,没条记录都有n...
    99+
    2022-07-08
    MongoDB数据库 索引用法
  • python pandas中索引函数loc和iloc的区别分析
    目录前言1、直接使用行或者列标签2、loc函数3、iloc函数总结前言 使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引。使用pandas进行索...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作