如何从数据帧中提取第n行?

时间:2019-02-09 18:00:39

标签: python-3.x pandas dataframe

我有一个df:

看起来像这样(跳过多行):

setState() or markNeedsBuild() called during build

我只想选择每个 id 201 1 202 2 203 3 301 4 303 5 401 6 的索引,这意味着希望整个数据帧的行分别为201、301、401、501。

我尝试过这个:

x01st

1 个答案:

答案 0 :(得分:2)

您很亲密,需要默认的RangeIndex1进行比较:

df1 = [df.index % 100 == 1]

总索引解决方案:

df1 = [np.arange(len(df)) % 100 == 1]

如果要也忽略1.101.行:

df2 = (df[(df.index % 100 == 1) & (df.index > 200)]

并且:

a = np.arange(len(df))
df2 = df[(a % 100 == 1) & (a > 200)]

示例

np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(1000,3)), columns=list('ABC'))
#print (df)

a = np.arange(len(df))
df2 = df[(a % 100 == 1) & (a > 200)]
print (df2)
     A  B  C
201  4  4  4
301  1  3  2
401  0  3  5
501  5  8  4
601  3  7  9
701  5  5  7
801  4  1  0
901  4  7  6