pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

Pandas是一种Python常用的数据处理工具,它具有很强的数据选取和处理能力,本文将详细讲解Pandas数据选取的完整攻略。

一、pandas数据选取方法

Pandas提供了丰富的数据选取方法,常用的包括:

  • df[]:基于列名或索引选取列或行;
  • df.loc[]:基于行和列名称选取数据;
  • df.iloc[]:通过整数位置选取数据;
  • df.ix[]:基于行和列名称或整数位置选取数据,已弃用;
  • df.at[]:通过标签选取单个值;
  • df.iat[]:通过整数位置选取单个值。

下面详细讲解这些方法的使用。

1.1 df[]

df[]可以基于列名或索引选取列或行。例如:

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Mike', 'John'],
    'age': [18, 19, 20, 21],
    'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取列name
print(df['name'])
# 选取前2行
print(df[:2])

输出结果:

0      Tom
1    Jerry
2     Mike
3     John
Name: name, dtype: object
    name  age gender
0    Tom   18      M
1  Jerry   19      M

1.2 df.loc[]

df.loc[]基于行和列名称选取数据。例如:

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Mike', 'John'],
    'age': [18, 19, 20, 21],
    'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])
# 选取行b和c,列name和age
print(df.loc[['b', 'c'], ['name', 'age']])
# 选取行b和c的所有列
print(df.loc[['b', 'c'], :])

输出结果:

    name  age
b  Jerry   19
c   Mike   20
    name  age gender
b  Jerry   19      M
c   Mike   20      M

1.3 df.iloc[]

df.iloc[]通过整数位置选取数据。例如:

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Mike', 'John'],
    'age': [18, 19, 20, 21],
    'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取第2行,第1、3列
print(df.iloc[1, [0, 2]])
# 选取第2-3行
print(df.iloc[1:3, :])

输出结果:

name       Jerry
gender         M
Name: 1, dtype: object
    name  age gender
1  Jerry   19      M
2   Mike   20      M

1.4 df.ix[]

df.ix[]基于行和列名称或整数位置选取数据,已弃用,推荐使用df.loc[]和df.iloc[]替代。

1.5 df.at[]

df.at[]通过标签选取单个值。例如:

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Mike', 'John'],
    'age': [18, 19, 20, 21],
    'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])
# 选取行a,列name的值
print(df.at['a', 'name'])

输出结果:

Tom

1.6 df.iat[]

df.iat[]通过整数位置选取单个值。例如:

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Mike', 'John'],
    'age': [18, 19, 20, 21],
    'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取第2行,第1列的值
print(df.iat[1, 0])

输出结果:

Jerry

二、总结

本文详细讲解了Pandas数据选取的完整攻略,包括常用的选取方法:df[]df.loc[]df.iloc[]df.at[]df.iat[]。在实际使用中,根据不同的需要选取相应的数据即可,使处理数据更加高效便捷。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[] - Python技术站

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

相关文章

  • Python Pandas数据分析之iloc和loc的用法详解

    PythonPandas是数据分析领域非常重要的工具,其中iloc和loc是两个非常重要的方法,用于访问数据框中的元素。下面是详细的攻略。 iloc的用法 iloc方法是根据位置来访问数据框中的元素。iloc以包含行和列编号的元组作为索引。例如, df.iloc[0:2, 0:2]表示访问第1到第2行和第1到第2列的元素。 下面是一个例子: import p…

    python 2023年5月14日
    00
  • Pandas爆炸函数的使用技巧

    关于Pandas爆炸函数的使用技巧,我们需要先介绍Pandas库中用于处理复杂数据结构和数据分析的数据类型Series和DataFrame。 Series是一种类似于一维数组的数据类型,它由数据值和索引组成。 Series有很多内置的函数,可以进行分组、排序、过滤、映射、元素访问等操作。DataFrame是一个表格型的数据结构,由多个Series组成。它有多…

    python 2023年5月14日
    00
  • 合并两个具有复杂条件的Pandas数据框架

    合并两个具有复杂条件的 Pandas 数据框架的过程可以使用 Pandas 库中的 merge() 函数进行。merge() 函数可以根据一个或多个键将不同的 Pandas 数据框架合并成一个。可以根据某些列进行连接,根据索引进行连接,外连接,内连接等等。 下面提供一个示例:假设有两个数据框,dataframe1 和 dataframe2。它们的结构如下: …

    python-answer 2023年3月27日
    00
  • C语言编程中对目录进行基本的打开关闭和读取操作详解

    以下是C语言编程中对目录进行基本的打开关闭和读取操作的详细攻略。 目录的打开和关闭操作 C语言中,目录的打开和关闭操作可以通过以下两个函数实现: #include <dirent.h> DIR *opendir(const char *name); int closedir(DIR *dirp); 其中,opendir函数用于打开目录,返回一个指…

    python 2023年6月13日
    00
  • 如何列出每个Pandas组的值

    要列出每个Pandas组的值,可以使用groupby()函数。这个函数可以将数据按照特定的列分组,然后对每个分组进行操作。下面是使用groupby()函数列出每个Pandas组的值的详细攻略: 1.读取数据 首先,需要读取数据。可以使用Pandas的read_csv()函数读取csv文件中的数据。例如,假设有一个csv文件名为data.csv,可以使用以下代…

    python-answer 2023年3月27日
    00
  • 对pandas中时间窗函数rolling的使用详解

    首先我们来看一下什么是pandas中的时间窗函数rolling。rolling是pandas库中的时间窗口函数,它可以让我们实现类似于滑动平均的计算方式。具体而言,我们可以创建一个滑动窗口,来计算任意时刻窗口内的数据统计指标(如均值、标准差等)。下面是rolling函数的基本格式: rolling(window[, min_periods, center, …

    python 2023年5月14日
    00
  • 用pandas中的DataFrame时选取行或列的方法

    选取DataFrame中的行和列是数据分析过程中常见的操作之一。下面是选取行和列的方法: 选取行 通过行标签选取:使用.loc[]方法。 如果要选取单个行,则将行标签放在方括号中即可,如:df.loc[‘row_label’]。 如果要选取多个行,则需要用逗号分隔行标签,放在方括号中,如:df.loc[‘row_label1’, ‘row_label2’]。…

    python 2023年5月14日
    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
合作推广
合作推广
分享本页
返回顶部