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

时间:2012-08-18 19:49:42

标签: python pandas

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

>>> df.shape
(1000,10)
>>> my_slice = df.ix[10,:]
>>> my_slice.shape
(10,)

my_slice不应该是前十行,即。 10 x 10数据帧?如何获得前十行,以便my_slice是10x10数据帧对象?感谢。

5 个答案:

答案 0 :(得分:58)

答案 1 :(得分:39)

您也可以为方便起见:

df[:10]

答案 2 :(得分:12)

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

答案 3 :(得分:2)

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

1。

df[:10]

2。。使用head

df.head(10)

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

3。。使用iloc

df.iloc[:10]

答案 4 :(得分:0)

dataframe [:n]-将返回前n-1行