Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据

简介: Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据

Pandas

中的索引:pandas 中的索引意味着只需从 DataFrame 中选择特定的数据行和列。索引可能意味着选择所有行和一些列,一些行和所有列,或每行和列中的一些。索引也可以称为子集选择

选择一些行和一些列

让我们拿一个带有一些假数据的 DataFrame,现在我们在这个 DataFrame 上执行索引。在此,我们从 DataFrame 中选择一些行和一些列。带有数据集的数据框。

image.png

假设我们要选择 columns AgeCollege并且Salary只选择带有标签的行Amir JohnsonTerry Rozier


image.png

我们最终的 DataFrame 看起来像这样:

image.png

选择一些行和所有列

假设我们要选择 row Amir JhonsonTerry Rozier并选择数据框中John Holland的所有列。

image.png

我们最终的 DataFrame 如下所示:

image.png

选择一些列和所有行

假设我们要在数据框中选择包含所有行的 Age、Height 和 Salary 列。

image.png

我们最终的 DataFrame 如下所示:

image.png

Pandas 索引使用[ ], .loc[], .iloc[ ],.ix[ ]

有很多方法可以从 DataFrame 中提取元素、行和列。Pandas 中有一些索引方法有助于从 DataFrame 中获取元素。这些索引方法看起来非常相似,但行为却截然不同。Pandas 支持四种类型的多轴索引,它们是:

  • 数据框。[]; 此函数也称为索引运算符
  • Dataframe.loc[ ]: 此函数用于标签。
  • Dataframe.iloc[ ]: 此函数用于位置或基于整数
  • Dataframe.ix[]: 此函数用于基于标签和整数

它们统称为索引器。这些是迄今为止最常见的数据索引方法。这四个函数有助于从 DataFrame 中获取元素、行和列。


使用索引运算符索引数据框[]

索引运算符用于引用对象后面的方括号。和索引器.loc.iloc使用索引运算符进行选择。在这个索引运算符中要引用 df[]。

选择单个列

为了选择单个列,我们只需将列名放在括号之间

# importing pandas package
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过索引运算符检索列
first = data["Age"]
print(first)

输出:

image.png

选择多个列

为了选择多个列,我们必须在索引运算符中传递列列表。

# importing pandas package
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过索引运算符检索多个列
first = data[["Age", "College", "Salary"]]
first

输出:

image.png

使用 索引 DataFrame .loc[ ]

此函数通过行和列的标签选择数据。 df.loc索引器以不同于索引运算符的方式选择数据。它可以选择行或列的子集。它还可以同时选择行和列的子集。


选择单行

为了使用 选择单行,我们在函数.loc[]中放置了单行标签。.loc

# importing pandas package
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 loc 方法检索行
first = data.loc["Avery Bradley"]
second = data.loc["R.J. Hunter"]
print(first, "\n\n\n", second)

输出:

如输出图像所示,由于两次都只有一个参数,因此返回了两个系列。

image.png

选择多行

为了选择多行,我们将所有行标签放在一个列表中并将其传递给.loc函数。

import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 loc 方法检索多行
first = data.loc[["Avery Bradley", "R.J. Hunter"]]
print(first)

输出:

image.png

选择两行三列

为了选择两行和三列,我们选择要选择的两行和三列,并将其放在单独的列表中,如下所示:

Dataframe.loc[["row1", "row2"], ["column1", "column2", "column3"]]
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过loc方法检索两行三列
first = data.loc[["Avery Bradley", "R.J. Hunter"],
        ["Team", "Number", "Position"]]
print(first)

输出:

image.png

选择所有行和一些列

为了选择所有的行和一些列,我们使用单冒号 [:] 来选择我们想要选择的所有行和一些列的列表,如下所示:

Dataframe.loc[:, ["column1", "column2", "column3"]]
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 loc 方法检索所有行和某些列
first = data.loc[:, ["Team", "Number", "Position"]]
print(first)

输出:

image.png

使用 索引 DataFrame .iloc[ ]

此函数允许我们按位置检索行和列。为了做到这一点,我们需要指定我们想要的行的位置,以及我们想要的列的位置。索引器df.iloc 非常相似,df.loc 但仅使用整数位置进行选择。

选择单行

为了使用 选择单行.iloc[],我们可以将单个整数传递给.iloc[]函数。

import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 iloc 方法检索行
row2 = data.iloc[3]
print(row2)

输出:

image.png

选择多行

为了选择多行,我们可以将整数列表传递给.iloc[]函数。

import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 iloc 方法检索多行
row2 = data.iloc [[3, 5, 7]]
row2

输出:

image.png

选择两行两列

为了选择两行和两列,我们为行创建一个包含 2 个整数的列表,为列创建一个包含 2 个整数的列表,然后传递给一个.iloc[]函数。

import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过iloc方法检索两行两列
row2 = data.iloc [[3, 4], [1, 2]]
print(row2)

输出:

image.png

选择所有行和一些列

为了选择所有行和一些列,我们使用单冒号 [:] 来选择所有行,对于列,我们制作一个整数列表,然后传递给一个.iloc[]函数。

import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 iloc 方法检索所有行和某些列
row2 = data.iloc [:, [1, 2]]
print(row2)

输出:

image.png

使用 Dataframe.ix[ ]对 a 进行索引:

在 pandas 开发的早期,存在另一个索引器ix. 该索引器能够按标签和整数位置进行选择。虽然它是通用的,但它引起了很多混乱,因为它不明确。有时整数也可以是行或列的标签。因此,在某些情况下它是模棱两可的。通常,ix它是基于标签的,并且充当 .loc索引器。但是,.ix也支持传递整数的整数类型选择(如在 .iloc 中)。。这仅适用于 DataFrame 的索引不是基于整数的.ix情况,它将接受.loc和的任何输入.iloc

注意   .ix****indexer 在最新版本的 Pandas 中已被弃用。

.ix[]使用as选择单行.loc[]

为了选择单行,我们在.ix函数中放置了单行标签。如果我们将行标签作为函数的参数传递,则此函数的行为类似于 .loc[]。

# importing pandas package
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 ix 方法检索行
first = data.ix["Avery Bradley"]
print(first)

输出:

image.png

.ix[]使用as选择单行.iloc[]

为了选择单行,我们可以将一个整数传递给.ix[]函数。如果我们在函数中传递整数,则此函数类似于 iloc[].ix[]函数。

# importing pandas package
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv", index_col ="Name")
# 通过 ix 方法检索行
first = data.ix[1]
print(first)

输出:

image.png

DataFrame中的索引方法

image.png

目录
相关文章
|
9月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
7239 1
|
9月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
730 0
|
9月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
9月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
9月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
632 0
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
462 1
|
11月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
801 0
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
469 0
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
430 2
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
662 3

热门文章

最新文章

推荐镜像

更多