Reputation: 13520
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:
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
Upvotes: 21
Views: 104451
Reputation: 85
In case you have two dataframes say, 'tst' and 'ptst' and want to display only certain values of both (same range in both) on the same graph. Following will help:
import matplotlib.pyplot as plts
plts.figure(figsize=(10,5))
plts.plot(tst['Price'])
plts.plot(ptst['Price'])
Upvotes: -1
Reputation: 394459
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')
Upvotes: 31