Python 3.x 如何从pandas中的数据帧中获取特定行

Python 3.x 如何从pandas中的数据帧中获取特定行,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,如果这个问题很愚蠢,我想提前道歉,但是如何从数据帧中获得一些特定的行呢 例如,给我一个包含n行的数据帧,我想打印出第一行和最后4行。 我当然可以这样做 df.iloc[[1,2,3,4,n-3,n-2,n-1,n],:] 但也许有更简单的方法可以做到这一点?可以接受一个整数列表或数组,您已经在示例中使用了这个列表或数组 我想打印出第一行和最后4行 我当然可以这样做 df.iloc[[1,2,3,4,n-3,n-2,n-1,n],:] 除此之外,您还可以使用range()生成如下列表: df.il

如果这个问题很愚蠢,我想提前道歉,但是如何从数据帧中获得一些特定的行呢

例如,给我一个包含n行的数据帧,我想打印出第一行和最后4行。 我当然可以这样做

df.iloc[[1,2,3,4,n-3,n-2,n-1,n],:]

但也许有更简单的方法可以做到这一点?

可以接受一个整数列表或数组,您已经在示例中使用了这个列表或数组

我想打印出第一行和最后4行

我当然可以这样做

df.iloc[[1,2,3,4,n-3,n-2,n-1,n],:]

除此之外,您还可以使用
range()
生成如下列表:

df.iloc[list(范围(0,4))+list(范围(len(df.index)-4,len(df.index)),:]
您可以生成索引列表以简化过程

index=list(范围(0,len(df.index)))
df.iloc[index[:4]+index[-4:],:]
并且可以快速地从上到下检索行。在的帮助下,您可以组合这两种方法的结果:

pd.concat([df.head(4)、df.tail(4)])
iloc()
还可以接受带有int的切片对象,例如
1:7
。这对
head()
tail()

  • head(4)
    等于
    iloc[:4]
  • tail(4)
    等于
    iloc[-4:]
pd.concat([df.iloc[:4],df.iloc[-4:])