如何按位置切片Pandas数据框?

tur*_*tle 33 python pandas

我有一个拥有1000行和10列的Pandas Data Frame对象.我只想切片数据框并取前10行.我怎样才能做到这一点?我一直试图用这个:

>>> df.shape
(1000,10)
>>> my_slice = df.ix[10,:]
>>> my_slice.shape
(10,)
Run Code Online (Sandbox Code Playgroud)

my_slice不应该是前十行,即.10 x 10数据帧?如何获得前十行,例如my_slice10x10数据帧对象?谢谢.

Wes*_*ney 45

您也可以为方便起见:

df[:10]


Dan*_*kov 13

df.ix[10,:]为您提供第10行的所有列.在你的情况下,你希望一切都达到第10行df.ix[:9,:].请注意,切片范围的右端是包含在内的:http://pandas.sourceforge.net/gotchas.html#endpoints-are-inclusive

  • 这是描述 (2认同)

Gon*_*ica 8

我可以看到至少三个选项:

1.

df[:10]
Run Code Online (Sandbox Code Playgroud)

2.使用head

df.head(10)
Run Code Online (Sandbox Code Playgroud)

对于 n 的负值,此函数返回除最后 n 行之外的所有行,相当于df[:-n][Source]

3.使用iloc

df.iloc[:10]
Run Code Online (Sandbox Code Playgroud)