Reputation: 957
I have the following DataFrame nq
for which I want to plot a Line Plot.
The columns -1,-2 etc. indicate user score before and after the Date given in date
column, i.e., if nq.date = 2020-10-23
then nq.-1 =2020-10-22
. I tried the following code but it produces a KeyError: (-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7)
. Is there a way to fix this?
nq
UserId | date |-7|-6|-5|-4|-3|-2|-1|0 |1 |2 |3 |4 |5 |6 |7
1 2009-10-17 17:38:32.590 |0 |0 |0 |0 |0 |0 |5 |0 |1 |0 |0 |0 |0 |0 |0
2 2009-10-19 00:37:23.067 |0 |0 |0 |0 |0 |2 |1 |0 |1 |0 |0 |8 |0 |0 |0
3 2009-10-20 08:37:14.143 |0 |0 |0 |0 |0 |0 |3 |0 |0 |0 |0 |0 |0 |0 |0
4 2009-10-21 18:07:51.247 |0 |7 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |0 |0
5 2009-10-22 21:25:24.483 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |0 |0
code
nq.plot(kind='line',x=nq[-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7], y=nq[-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7].mean())
Upvotes: 0
Views: 167
Reputation: 3598
Try:
nq.iloc[:,2:].mean().plot(kind='line')
result:
To combine mean and std on chart try:
nq.iloc[:,2:].mean().plot(kind='line', label='mean')
nq.iloc[:,2:].std().plot(kind='line', label='std')
plt.legend()
Upvotes: 1