Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Pandas 提供了一种独特的方法来从 DataFrame 中检索行。当 DataFrame 的索引标签不是数字序列0、1、2、3….n或用户不知道索引标签时,将使用Dataframe.iloc []方法。可以使用在 DataFrame 中不可见的虚构索引位置提取行。
用法:pandas.DataFrame.iloc[]
参数:
Index Position:行在整数或整数列表中的索引位置。
返回类型: DataFrame 或系列取决于参数
要下载代码中使用的CSV,请点击此处。
范例1:提取单行并与.loc []比较
在此示例中,通过.iloc []和.loc []方法提取相同的索引号行并进行比较。由于索引列默认情况下是数字列,因此索引标签也将是整数。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# retrieving rows by loc method
row1 = data.loc[3]
# retrieving rows by iloc method
row2 = data.iloc[3]
# checking if values are equal
row1 == row2
输出:
如输出图像所示,两种方法返回的结果相同。
范例2:使用索引提取多行
在此示例中,首先通过传递列表来提取多个行,然后通过传递整数来提取该范围之间的行。之后,将两个值进行比较。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# retrieving rows by loc method
row1 = data.iloc[[4, 5, 6, 7]]
# retrieving rows by loc method
row2 = data.iloc[4:8]
# comparing values
row1 == row2
输出:
如输出图像所示,两种方法返回的结果相同。除“大学”列中的值是NaN值外,所有值均为True。