MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB ISODate से पांडस डेटाटाइमइंडेक्स

मैं निम्नलिखित डेटा के साथ त्रुटि को पुन:उत्पन्न करने में सक्षम था:

idx0 = pd.date_range('2011-11-11', periods=4)
idx1 = idx0.tz_localize(tz.tzutc())
idx2 = idx1.tz_convert(tz.tzlocal())
df = pd.DataFrame([1, 2, 3, 4])

df.groupby(idx2).sum()
Out[20]: 
                           0
1970-01-01 00:00:00-05:00  9
2011-11-10 19:00:00-05:00  1

यह पांडा कोड में एक गहरी बग है, जो विशेष रूप से tz.tzlocal() . से संबंधित है . यह स्वयं में भी प्रकट होता है:

idx2.tz_localize(None)
Out[27]: 
DatetimeIndex(['2011-11-10 19:00:00', '1970-01-01 00:00:00',
               '1970-01-01 00:00:00', '1970-01-01 00:00:00'],
              dtype='datetime64[ns]', freq='D')

आप निम्न में से किसी भी समाधान का उपयोग कर सकते हैं:

  • एक स्ट्रिंग के रूप में अपने समय क्षेत्र का स्पष्ट रूप से उपयोग करें:

    idx2 = idx1.tz_convert(tz='Europe/Dublin')
    df.groupby(idx2).sum()
    Out[29]: 
                               0
    2011-11-11 00:00:00+00:00  1
    2011-11-12 00:00:00+00:00  2
    2011-11-13 00:00:00+00:00  3
    2011-11-14 00:00:00+00:00  4
    

    या अगर यह काम नहीं करता है:

    idx2 = idx1.tz_convert(tz.gettz('Europe/Dublin'))
    
  • इसे किसी वस्तु में बदलें:

    df.groupby(idx2.astype(object)).sum()
    Out[32]: 
                               0
    2011-11-10 19:00:00-05:00  1
    2011-11-11 19:00:00-05:00  2
    2011-11-12 19:00:00-05:00  3
    2011-11-13 19:00:00-05:00  4
    

मूल रूप से, tz=tz.local() . के साथ डेटाटाइमइंडेक्स के अलावा किसी और चीज़ में कनवर्ट करना काम करना चाहिए।

संपादित करें: यह बग पांडा जीथब पर अभी तय किया गया है। फिक्स पांडा 0.19 रिलीज में उपलब्ध होगा।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb SafeMode की तुलना WriteConcern से करें

  2. मोंगो के साथ एक ही समय में खींचो और जोड़ो

  3. रेल पर डेटाबेस सीड करने के लिए निर्देशिका से CSV फ़ाइलें आयात करें

  4. 2022 के लिए MongoDB ट्यूटोरियल - जानें कि MongoDB क्या है?

  5. स्प्रिंग मोंगोडब कंपास बनाया गया डेटा/संग्रह गायब है