Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Plot specific rows of a pandas dataframe

I have a pandas dataframe with three columns and I am plotting each column separately using the following code:

data.plot(y='value')

Which generates a figure like this one:

enter image description here

What I need is a subset of these values and not all of them. For example, I want to plot values at rows 500 to 1000 and not from 0 to 3500. Any idea how I can tell the plot function to only pick those?

Thanks

like image 431
ahajib Avatar asked May 19 '16 20:05

ahajib


People also ask

How do I plot rows in Pandas?

Make rows of Pandas plot. Use iloc() function to slice the df and print specific rows. To display the figure, use show() method.

How do I only plot certain columns in Pandas?

To plot a specific column, use the selection method of the subset data tutorial in combination with the plot() method. Hence, the plot() method works on both Series and DataFrame .


1 Answers

use iloc to slice your df:

data.iloc[499:999].plot(y='value')

this will slice from row 500 up to but not including row 1000

Example:

In [35]:
df = pd.DataFrame(np.random.randn(10,2), columns=list('ab'))
df.iloc[2:6]

Out[35]:
          a         b
2  0.672884  0.202798
3  0.514998  1.744821
4 -1.982109 -0.770861
5  1.364567  0.341882

df.iloc[2:6].plot(y='b')

enter image description here

like image 200
EdChum Avatar answered Sep 28 '22 01:09

EdChum