浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

接下来我将详细讲解一下 pandas 中 DataFrame 的查询方法,包括 []、loc、iloc、at、iat、ix 这几种方法。

DataFrame 查询方法

DataFrame 的基本查询方法——[]

DataFrame 的基本查询方法是使用中括号 [] 进行索引,这种方法是最为简单的方法。

示例 1:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询 name 列
print(df['name'])

输出结果:

0       Amy
1       Bob
2    Carson
3     David
Name: name, dtype: object

示例 2:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询 name 和 age 列
print(df[['name', 'age']])

输出结果:

     name  age
0     Amy   20
1     Bob   21
2  Carson   22
3   David   23

loc

loc 是根据 DataFrame 的行列标签进行查询的方法,可通过行列标签直接定位到具体的数据。

示例 1:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])

# 查询行标签为 b、d,列标签为 name、age 的数据
print(df.loc[['b', 'd'], ['name', 'age']])

输出结果:

    name  age
b    Bob   21
d  David   23

示例 2:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])

# 查询行标签为 b 的行的所有数据
print(df.loc['b'])

输出结果:

name         Bob
age           21
gender      male
Name: b, dtype: object

iloc

iloc 是根据 DataFrame 的行列位置进行查询的方法,它与 loc 不同,它用的是行列位置。

示例 1:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询第二行第一列的数据
print(df.iloc[1, 0])

输出结果:

Bob

示例 2:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询前两行,所有列的数据
print(df.iloc[:2, :])

输出结果:

  name  age  gender
0   Amy   20  female
1   Bob   21    male

at 和 iat

at 和 iat 是用于查询单个元素的方法,它们与 loc 和 iloc 类似,只不过 at 和 iat 只能查询单个元素,速度比 loc 和 iloc 快。

示例 1:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询第二行第一列的数据
print(df.iat[1, 0])

输出结果:

Bob

示例 2:

import pandas as pd

data = {'name': ['Amy', 'Bob', 'Carson', 'David'],
        'age': [20, 21, 22, 23],
        'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)

# 查询第二行第一列的数据
print(df.at[1, 'name'])

输出结果:

Bob

ix(已废弃)

ix 通过标签值或者位置来查询表格。但是,它已经被废弃,不推荐使用。

总结

至此,pandas 中 DataFrame 的查询方法已经全部介绍完毕,分别包括 []、loc、iloc、at、iat、ix 几种方法。我们可以根据实际需求来选择不同的查询方法,从而有效地提高查询效率,加快数据处理速度。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 在Pandas中确定DataFrame的周期索引和列

    确定DataFrame的周期索引和列是Pandas中重要的操作之一,可以帮助我们更好地处理时间序列数据。下面是详细的攻略和实例说明: 确定周期索引 在Pandas中,我们可以使用PeriodIndex对象来创建一个周期性索引。其中,PeriodIndex对象可以接受的参数主要有以下三种: freq:指定周期的频率,以字符串的形式传入,常见的有’D’,’H’,…

    python-answer 2023年3月27日
    00
  • pandas使用函数批量处理数据(map、apply、applymap)

    pandas使用函数批量处理数据(map、apply、applymap) 简介 在数据分析中,常常需要对数据进行批量处理,比如对某些列进行函数操作、对整个数据集替换某些值、对某些列进行条件替换等。在pandas中,有三个函数来进行批量处理:map、apply和applymap。 map函数 map函数应用于series类型的数据,可以对数据中每个元素应用相同…

    python 2023年5月14日
    00
  • 如何使用pandas cut()和qcut()

    pandas是一个强大的数据分析和处理库,其中包含了许多用于数据分割、分组和汇总的工具。其中两个特别有用的函数是cut()和qcut(),它们可以用来将数据划分为不同的区间或者分位数,并为每个区间或分位数分配一个标签。 pandas cut()函数 pandas cut()函数提供了一种将一组值划分为不同区间(也称为‘面元’)的方式。cut()函数可以接收多…

    python-answer 2023年3月27日
    00
  • 详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    当我们使用pandas库中的DataFrame对象来处理数据时,会涉及到从数据集中抽取部分数据来进行分析的情况。这时候,我们可以使用.loc[]和.iloc[]方法来实现这个功能。下面,我将详细解释这两个方法的使用方法,并给出几个示例。 什么是.loc[]和.iloc[]方法 .loc[]和.iloc[]方法是pandas中DataFrame对象的两种索引方…

    python 2023年5月14日
    00
  • 在pandas多重索引multiIndex中选定指定索引的行方法

    在pandas多重索引MultiIndex中选定指定索引的行有多种方法,下面分别进行详细讲解。 方法一:用tuple定位指定行 在多重索引中,每一维度的索引可以用tuple来表示,所以可以用tuple定位指定行。假设有一个多重索引如下所示: >>> import pandas as pd >>> index = pd.Mu…

    python 2023年6月13日
    00
  • 如何在Python中计算滚动相关度

    首先,我们需要明确什么是滚动相关度。滚动相关度是一种衡量两个网页滚动位置之间的相似性的指标,它可以用于衡量用户在两个不同的网页上滚动位置的相似程度。滚动相关度越高,表示两个网页在滚动位置上越相似。 计算滚动相关度需要获取两个页面的滚动位置,并对它们进行比较。我们可以使用Python的Selenium库来获取网页的滚动位置。下面是一个示例代码片段: from …

    python-answer 2023年3月27日
    00
  • Python3 pandas.concat的用法说明

    Python3 pandas.concat的用法说明 简介 pandas是数据处理的重要工具,其中concat方法可以合并两个或多个数据框(DataFrame),具体实现请参考pandas官方文档。 语法 pandas.concat(objs, axis=0, join=’outer’, ignore_index=False, keys=None, leve…

    python 2023年5月14日
    00
  • 使用Regex从给定的Pandas DataFrame的指定列中提取日期

    首先,我们需要安装Python中的正则表达式库re。在命令行或者jupyter notebook中输入以下命令进行安装: !pip install re 接下来,我们需要对DataFrame中的日期列进行正则匹配并提取出日期。 假设我们有以下DataFrame: import pandas as pd data = {‘日期’: [‘2022/05/01 1…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部