📅  最后修改于: 2023-12-03 14:57:17.187000             🧑  作者: Mango
当使用Pandas处理数据时,经常需要从DataFrame中获取特定行。你可以通过不同的方法来获取指定的行,这取决于你希望如何选择并访问这些行。
以下是一些获取特定行的常用方法:
如果你知道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
除了使用行索引外,还可以根据一些条件选择特定的行。你可以使用布尔条件来过滤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 深圳
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中特定行的几种常用方法。根据你的需求,你可以选择合适的方法来获取所需的行数据。