Python Pandas – 如何按整数位置从DataFrame中选择行
在数据分析、数据挖掘和机器学习领域,Python中的Pandas库是一个经典的数据处理工具。但是,对于新手来说,有时候并不知道如何从DataFrame中选择指定的行,本文将介绍按照行的整数位置从DataFrame中选择行的方法。
DataFrame数据结构
在介绍如何从DataFrame中选择行之前,先来了解一下DataFrame数据结构。DataFrame是Pandas库最主要的数据结构,类似于Excel中的表格数据结构,但支持更多的操作。可以简单地将DataFrame视为由多个Series列组成的表格。下面是一个示例DataFrame创建:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'score': [89, 92, 78, 95, 84],
'gender': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
print(df)
输出:
name score gender
0 Alice 89 F
1 Bob 92 M
2 Charlie 78 M
3 David 95 M
4 Emily 84 F
在这个DataFrame中,每一列都是一个Series对象,可以通过列名进行访问。例如,访问姓名列:
print(df['name'])
输出:
0 Alice
1 Bob
2 Charlie
3 David
4 Emily
Name: name, dtype: object
按整数位置选择行
DataFrame中的行可以按照行的整数位置进行选择。可以使用.iloc[]
方法来完成此操作。.iloc[]
接受基于整数的行和列位置列表,因此可以按照需求选择行或列。下面是一个按整数位置从DataFrame中选择行的示例代码:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'score': [89, 92, 78, 95, 84],
'gender': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
# 选择第0行
row = df.iloc[0]
print('第0行:')
print(row)
print()
# 选择第2行和第3行
rows = df.iloc[[2, 3]]
print('第2行和第3行:')
print(rows)
print()
# 选择第0行至第2行(不包括第3行)
range_rows = df.iloc[0:2]
print('第0行至第2行:')
print(range_rows)
输出:
第0行:
name Alice
score 89
gender F
Name: 0, dtype: object
第2行和第3行:
name score gender
2 Charlie 78 M
3 David 95 M
第0行至第2行:
name score gender
0 Alice 89 F
1 Bob 92 M
结论
按整数位置从DataFrame中选择行非常简单,只需要使用.iloc[]
方法即可。.iloc[]
可以接受基于整数的行和列位置列表,按照需求选择行或列。