साथ समय श्रृंखला डेटा मैं निम्नलिखित का उपयोग कर एक पूरी तरह यादृच्छिक 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()
जो dataframe इस पोस्ट के नीचे दिखाया गया का परिणाम है।
मैं इस समस्या को कैसे संपर्क कर सकते हैं: मुझे लगता है कि मैं इन पंक्तियों के साथ कुछ पाने मेरे कॉलम तो seaborn
में timeseries दृश्य सुविधाओं का उपयोग कर A
, B
, C
और D
प्लॉट करने के लिए चाहते हैं? क्या मैं this notebook पर पढ़ा से, कॉल किया जाना चाहिए:
sns.tsplot(df, time="time", unit="unit", condition="condition", value="value")
लेकिन यह आवश्यक है कि dataframe कॉलम किसी भी तरह 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
अंत में, मैं क्या देख रहा हूँ भूखंडों की का ओवरले (प्रति स्तंभ एक), जहां उनमें से प्रत्येक के रूप में निम्नानुसार लग रहा है की है कि विभिन्न मूल्यों:
यहाँ मेरी dataframe है
: सीआई alphas के विभिन्न मान) मिलता है
आप '
हालांकि, यह है कि मुश्किल matplotlib और पांडा का एक मिश्रण है कि मैं क्या लगता है कि तुम चाहते हो जाएगा साथ आने के लिए नहीं है आपके सूचकांक में डुप्लिकेट तिथियां मिली हैं। जानबूझकर? यदि हां, तो इसका क्या महत्व है? –
धन्यवाद @PaulH यह जानबूझकर है, हालांकि उन्हें एक कॉलम में ले जाया जा सकता है। मेरे पास प्रति दिन कई नमूने हैं और मैं साजिश में बैंड की मोटाई में प्रति दिन उस परिवर्तनशीलता को कैप्चर करना चाहता हूं। –
तो वर्बोज़ होने के लिए, लाइन स्वयं किसी दिए गए दिनांक के लिए औसत मान से आती है और छायांकित बैंड न्यूनतम और अधिकतम से घिरा हुआ है? –