How to slice a Pandas Data Frame by position?
Solution 1
df2 = df.head(10)
should do the trick
Solution 2
You can also do as a convenience:
df[:10]
Solution 3
df.ix[10,:]
gives you all the columns from the 10th row. In your case you want everything up to the 10th row which is df.ix[:9,:]
. Note that the right end of the slice range is inclusive: http://pandas.sourceforge.net/gotchas.html#endpoints-are-inclusive
Solution 4
I can see at least three options:
Option 1
df[:10]
Option 2
Using head
df.head(10)
For negative values of n, this function returns all rows except the last n rows, equivalent to
df[:-n]
[Source].
Option 3
Using iloc
df.iloc[:10]
Solution 5
DataFrame[:n]
will return first n rows.
turtle
Updated on July 05, 2022Comments
-
turtle almost 2 years
I have a Pandas Data Frame object that has 1000 rows and 10 columns. I would simply like to slice the Data Frame and take the first 10 rows. How can I do this? I've been trying to use this:
>>> df.shape (1000,10) >>> my_slice = df.ix[10,:] >>> my_slice.shape (10,)
Shouldn't my_slice be the first ten rows, ie. a 10 x 10 Data Frame? How can I get the first ten rows, such that
my_slice
is a 10x10 Data Frame object? Thanks. -
Rocketq about 6 yearsthis is depricated
-
Abdelsalam Hamdi almost 3 years.ix is not working u shall delete it, "df[:10]" is enough
-
Ruben over 2 yearsThis seems to not copy the column names for me.