74

我有一个 Pandas 数据框对象,它有 1000 行和 10 列。我只想对数据框进行切片并取前 10 行。我怎样才能做到这一点?我一直在尝试使用这个:

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

my_slice 不应该是前十行,即。一个 10 x 10 的数据框?如何获得前十行,例如my_slice10x10 数据框对象?谢谢。

4

5 回答 5

122

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.head.html?highlight=head#pandas.DataFrame.head

df2 = df.head(10)

应该做的伎俩

于 2012-08-18T20:27:58.567 回答
90

您还可以为方便起见:

df[:10]

于 2012-09-09T19:21:23.347 回答
14

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

于 2012-08-19T09:02:03.070 回答
9

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

1.

df[:10]

2.使用head

df.head(10)

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

3.使用iloc

df.iloc[:10]
于 2020-10-28T16:15:34.730 回答
3

DataFrame[:n]将返回前 n 行。

于 2020-04-23T16:06:45.423 回答