時間序列數據說我用下面創建一個完全隨機Dataframe
:繪製與seaborn
from pandas.util import testing
from random import randrange
def random_date(start, end):
delta = end - start
int_delta = (delta.days * 24 * 60 * 60) + delta.seconds
random_second = randrange(int_delta)
return start + timedelta(seconds=random_second)
def rand_dataframe():
df = testing.makeDataFrame()
df['date'] = [random_date(datetime.date(2014,3,18),datetime.date(2014,4,1)) for x in xrange(df.shape[0])]
df.sort(columns=['date'], inplace=True)
return df
df = rand_dataframe()
這導致在這篇文章的底部顯示的數據幀。我想用timeseries可視化功能繪製我的專欄A
,B
,C
和D
在seaborn
,使我得到的東西沿着這些路線:
我怎樣才能解決這個問題?從我上this notebook閱讀,通話應該是:
sns.tsplot(df, time="time", unit="unit", condition="condition", value="value")
但這似乎需要將數據幀被以不同的方式表示,其中列莫名其妙編碼time
,unit
,condition
和value
,這是不我的情況。我如何將我的數據框(如下所示)轉換爲這種格式?
這裏是我的數據框:
date A B C D
2014-03-18 1.223777 0.356887 1.201624 1.968612
2014-03-18 0.160730 1.888415 0.306334 0.203939
2014-03-18 -0.203101 -0.161298 2.426540 0.056791
2014-03-18 -1.350102 0.990093 0.495406 0.036215
2014-03-18 -1.862960 2.673009 -0.545336 -0.925385
2014-03-19 0.238281 0.468102 -0.150869 0.955069
2014-03-20 1.575317 0.811892 0.198165 1.117805
2014-03-20 0.822698 -0.398840 -1.277511 0.811691
2014-03-20 2.143201 -0.827853 -0.989221 1.088297
2014-03-20 0.299331 1.144311 -0.387854 0.209612
2014-03-20 1.284111 -0.470287 -0.172949 -0.792020
2014-03-22 1.031994 1.059394 0.037627 0.101246
2014-03-22 0.889149 0.724618 0.459405 1.023127
2014-03-23 -1.136320 -0.396265 -1.833737 1.478656
2014-03-23 -0.740400 -0.644395 -1.221330 0.321805
2014-03-23 -0.443021 -0.172013 0.020392 -2.368532
2014-03-23 1.063545 0.039607 1.673722 1.707222
2014-03-24 0.865192 -0.036810 -1.162648 0.947431
2014-03-24 -1.671451 0.979238 -0.701093 -1.204192
2014-03-26 -1.903534 -1.550349 0.267547 -0.585541
2014-03-27 2.515671 -0.271228 -1.993744 -0.671797
2014-03-27 1.728133 -0.423410 -0.620908 1.430503
2014-03-28 -1.446037 -0.229452 -0.996486 0.120554
2014-03-28 -0.664443 -0.665207 0.512771 0.066071
2014-03-29 -1.093379 -0.936449 -0.930999 0.389743
2014-03-29 1.205712 -0.356070 -0.595944 0.702238
2014-03-29 -1.069506 0.358093 1.217409 -2.286798
2014-03-29 2.441311 1.391739 -0.838139 0.226026
2014-03-31 1.471447 -0.987615 0.201999 1.228070
2014-03-31 -0.050524 0.539846 0.133359 -0.833252
最後,我所尋求的是曲線的疊加(每列一個),每個人看起來如下(注意,不同的價值觀CI得到阿爾法值不同):
你」你的索引中有重複的日期。故意的?如果是的話,那有什麼意義呢? –
Thanks @PaulH這是故意的,雖然他們可以移動到一列。我在每個日期有多個樣本,我想要捕捉該圖中帶中的每個日期的變化。 –
所以要冗長,線條本身來自給定日期的平均值,而陰影帶則由最小值和最大值限定? –