简体   繁体   中英

How to plot Time Series Line Plot from multiple dataframe columns in Python

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, ie, 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())

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()

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM