📜  如何从 Pandas DataFrame 中选择行?(1)

📅  最后修改于: 2023-12-03 15:37:54.582000             🧑  作者: Mango

如何从 Pandas DataFrame 中选择行?

Pandas 是一个强大的数据分析库,提供了许多选择操作。本文将介绍如何从 Pandas DataFrame 中选择行。

1. 使用 loc 方法

loc 方法基于行标签和列标签选择行。它还可以选择特定的列。以下是一个例子:

import pandas as pd

data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
        'age': [25, 35, 42, 28],
        'gender': ['M', 'M', 'F', 'F']}

df = pd.DataFrame(data)

# 使用 loc 方法选择第一行
print(df.loc[0])

# 使用 loc 方法选择第一行和第二行,并只选择 'name' 和 'age' 两列
print(df.loc[[0,1], ['name', 'age']])

输出:

name      Bob
age        25
gender      M
Name: 0, dtype: object
   name  age
0   Bob   25
1   Jim   35
2. 使用 iloc 方法

iloc 方法基于行索引和列索引选择行。以下是一个例子:

import pandas as pd

data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
        'age': [25, 35, 42, 28],
        'gender': ['M', 'M', 'F', 'F']}

df = pd.DataFrame(data)

# 使用 iloc 方法选择第一行
print(df.iloc[0])

# 使用 iloc 方法选择第一行和第二行,并只选择第一列和第二列
print(df.iloc[[0,1], [0,1]])

输出:

name      Bob
age        25
gender      M
Name: 0, dtype: object
  name  age
0  Bob   25
1  Jim   35
3. 使用条件选择行

可以使用条件选择行,返回满足条件的所有行。以下是一个例子:

import pandas as pd

data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
        'age': [25, 35, 42, 28],
        'gender': ['M', 'M', 'F', 'F']}

df = pd.DataFrame(data)

# 使用条件选择行,返回年龄大于 30 的所有行
print(df[df['age']>30])

输出:

    name  age gender
1    Jim   35      M
2  Alice   42      F
4. 使用 query 方法选择行

可以使用 query 方法选择行。它接受一个字符串作为参数,表示要选择的行所满足的条件。以下是一个例子:

import pandas as pd

data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
        'age': [25, 35, 42, 28],
        'gender': ['M', 'M', 'F', 'F']}

df = pd.DataFrame(data)

# 使用 query 方法选择行,返回年龄大于 30 的所有行
print(df.query('age>30'))

输出:

    name  age gender
1    Jim   35      M
2  Alice   42      F

以上是从 Pandas DataFrame 中选择行的方法。除了上述方法,还有其他选择行的方法,感兴趣的读者可以查看 Pandas 的文档。