MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Pandas DatetimeIndex từ MongoDB ISODate

Tôi có thể tạo lại lỗi với dữ liệu sau:

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

Đó là một lỗi sâu trong mã gấu trúc, chỉ liên quan đến tz.tzlocal() . Nó cũng thể hiện trong:

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

Bạn có thể sử dụng bất kỳ giải pháp nào sau đây:

  • sử dụng rõ ràng múi giờ của bạn dưới dạng chuỗi:

    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
    

    hoặc nếu nó không hoạt động:

    idx2 = idx1.tz_convert(tz.gettz('Europe/Dublin'))
    
  • chuyển đổi nó thành một đối tượng:

    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
    

Về cơ bản, chuyển đổi sang bất kỳ thứ gì khác ngoài DatetimeIndex với tz=tz.local() sẽ hoạt động.

CHỈNH SỬA: lỗi này vừa được sửa trên github pandas. Bản sửa lỗi sẽ có sẵn trong bản phát hành pandas 0.19.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sự khác biệt giữa safe:true và safe:false trong kết nối với mongoskin là gì? và sử dụng nó như thế nào?

  2. Làm cách nào để tính tổng mọi trường trong một tài liệu con của MongoDB?

  3. Tìm tất cả các tài liệu trùng lặp trong bộ sưu tập MongoDB theo trường khóa

  4. Quy trình tổng hợp Mongodb cách hạn chế đẩy nhóm

  5. Nhúng tài liệu với liên kết Thuộc_to trong Mongoid