📌  相关文章
📜  获取给定 Pandas DataFrame 中的特定行(1)

📅  最后修改于: 2023-12-03 14:57:17.187000             🧑  作者: Mango

当使用Pandas处理数据时,经常需要从DataFrame中获取特定行。你可以通过不同的方法来获取指定的行,这取决于你希望如何选择并访问这些行。

以下是一些获取特定行的常用方法:

1. 使用行索引获取特定行

如果你知道DataFrame中的行索引,则可以使用.loc[].iloc[]方法来获取特定行。.loc[]方法通过行标签选择行,.iloc[]方法通过行的整数位置选择行。

import pandas as pd

# 创建一个例子DataFrame
data = {'名字': ['小明', '小红', '小刚', '小强'],
        '年龄': [20, 25, 30, 35],
        '城市': ['北京', '上海', '广州', '深圳']}

df = pd.DataFrame(data)

# 使用.loc[]方法通过行标签获取特定行
row_1 = df.loc[0]
row_2 = df.loc[1]

# 使用.iloc[]方法通过整数位置获取特定行
row_3 = df.iloc[2]
row_4 = df.iloc[-1]  # 使用负数索引从末尾开始计数

print(row_1)  # 输出第一行数据
print(row_2)  # 输出第二行数据
print(row_3)  # 输出第三行数据
print(row_4)  # 输出最后一行数据

这将输出:

名字    小明
年龄    20
城市    北京
Name: 0, dtype: object
名字    小红
年龄    25
城市    上海
Name: 1, dtype: object
名字    小刚
年龄    30
城市    广州
Name: 2, dtype: object
名字    小强
年龄    35
城市    深圳
Name: 3, dtype: object

2. 使用条件选择特定行

除了使用行索引外,还可以根据一些条件选择特定的行。你可以使用布尔条件来过滤DataFrame,并获取满足条件的行。

import pandas as pd

# 创建一个例子DataFrame
data = {'名字': ['小明', '小红', '小刚', '小强'],
        '年龄': [20, 25, 30, 35],
        '城市': ['北京', '上海', '广州', '深圳']}

df = pd.DataFrame(data)

# 获取年龄大于25的行
age_greater_than_25 = df[df['年龄'] > 25]

print(age_greater_than_25)

这将输出:

  名字  年龄  城市
2  小刚  30  广州
3  小强  35  深圳
3. 使用查询方法选择特定行

Pandas提供了query()方法,该方法允许你使用类似SQL的语法来查询DataFrame。

import pandas as pd

# 创建一个例子DataFrame
data = {'名字': ['小明', '小红', '小刚', '小强'],
        '年龄': [20, 25, 30, 35],
        '城市': ['北京', '上海', '广州', '深圳']}

df = pd.DataFrame(data)

# 使用查询方法选择特定行
query_result = df.query('年龄 > 25')

print(query_result)

这将输出:

  名字  年龄  城市
2  小刚  30  广州
3  小强  35  深圳

以上就是获取给定Pandas DataFrame中特定行的几种常用方法。根据你的需求,你可以选择合适的方法来获取所需的行数据。