在Pandas中,iloc[]和iat[]都可以用于选择数据框架中的特定行。下面我们详细的介绍一下它们的用法。
- iloc[]
iloc[]的格式为dataframe.iloc[row_indexer, column_indexer],其中row_indexer表示行的标号,column_indexer表示列的标号。如果只需要选取行,column_indexer可以省略。特别的,如果row_indexer为一个整数,表示选取DataFrame中的第row_indexer行。
以下是使用iloc[]选取特定行的具体步骤:
首先,假如我们有一个名为df的数据框架,它的前5行如下所示:
name age gender
0 Jon 22 M
1 Mary 27 F
2 Tom 35 M
3 Lucy 18 F
4 John 45 M
如果要选取第一行数据,可使用以下方式:
df.iloc[0, :]
这意味着我们要选择第0行,同时选取所有的列。如果只需要选取某几列,可以这样做:
df.iloc[0, [0, 2]]
这样就选取了第0行的名字和性别。如果想要选取第2到第5行,并且只选取age这一列,可以这样实现:
df.iloc[2:5, 1]
这会选择从第2行到第4行的数据,并且只选取age这一列。
我们也可以使用iloc[]进行行切片和列切片:
df.iloc[2:5, :] # 选取第2到第4行的所有列
df.iloc[:, 1] #选取所有行,只选取第1列的数据(即年龄)
- iat[]
iat[]的格式比较简单,它的格式为dataframe.iat[row_index,column_index],它会返回DataFrame中第row_index行,第column_index列的元素。
以下是使用iat[]提取DataFrame中特定行的例子:
df.iat[0, 0] #选取第1行第1列的元素
以上示例代码输出结果为“Jon”。
提示:iloc[]的灵活性更高,在实际应用中更常用。但是,如果需要处理大量的数据时,iat[]由于较快的访问速度,可能会比iloc[]更快。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas中使用iloc[]和iat[]从数据框架中选择任何行 - Python技术站