如何利用Pandas查询选取数据

  • Post category:Python

Pandas是Python数据分析库中的一个重要模块,具有非常强大的数据处理与分析能力。在与数据打交道时,经常需要对数据进行查询及选取操作。

以下是“如何利用Pandas查询选取数据”的完整攻略。

Pandas查询数据方法

Pandas查询数据常用的方法有loc()iloc()query()等,下面将逐一讲解。

loc方法

loc方法主要用于通过行标签索引数据,语法格式为df.loc[index],其中index可以是单一行索引,也可以是行索引列表。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}
df = pd.DataFrame(data)

# 选取行索引为0和2的数据
result = df.loc[[0, 2]]

# 输出结果
print(result)

执行结果为:

       name  age gender
0     Alice   25      F
2  Charlie   18      F

iloc方法

iloc方法主要用于通过行号索引数据,语法格式为df.iloc[index],其中index可以是单一行号,也可以是行号列表。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}
df = pd.DataFrame(data)

# 选取行号为0和2的数据
result = df.iloc[[0, 2]]

# 输出结果
print(result)

执行结果为:

       name  age gender
0     Alice   25      F
2  Charlie   18      F

query方法

query方法可以根据条件查询数据,语法格式为df.query(condition),其中condition为查询条件,通常由数据列名、运算符和值构成。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}
df = pd.DataFrame(data)

# 查询年龄大于30的数据
result = df.query('age > 30')

# 输出结果
print(result)

执行结果为:

     name  age gender
1     Bob   32      M
3   David   47      M

Pandas选取数据方法

Pandas选取数据主要有两种方法,即通过行列索引选取和通过条件选取。

通过行列索引选取

Pandas提供了loc()iloc()方法用于通过行列索引选取数据。其中loc()方法用于通过行列标签索引数据,iloc()方法用于通过行列号索引数据。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}
df = pd.DataFrame(data)

# 选取第2行、第3列的数据
result = df.iloc[1, 2]

# 输出结果
print(result)

执行结果为:

M

通过条件选取

可以利用query()方法通过条件选取数据,也可以利用loc()方法通过条件选取数据。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}
df = pd.DataFrame(data)

# 选取年龄大于30的数据
result = df.loc[df['age'] > 30]

# 输出结果
print(result)

执行结果为:

    name  age gender
1    Bob   32      M
3  David   47      M

以上就是详细讲解“如何利用Pandas查询选取数据”的完整攻略。