2016-03-19 8 views
0

Verilerin toplanmadığı bir boşluk içeren bir csv gelgit verisi dosyası var. Bu şuna benzer:Pandalar ve python datetime zaman damgaları CSV'den itibaren

datetime,tidal_water_level 
    2014-05-13 00:00:00,0.008 
    2014-05-13 01:00:00,-0.283 
    2014-05-13 02:00:00,-0.491 
    2014-05-13 03:00:00,-0.557 
    ... 

vb

bir veri çerçevesi içine yüklenmesi için My açılış gambit şudur:

Ben diğer çeşitli örneklerden araya gelmiş
import matplotlib.pyplot as plt 
    import datetime as dt 

    headers = ['timestamp', 'tide_height'] 
    dtypes = [dt.datetime, float] 
    df = pd.read_csv('tides_clean.csv', names=headers, dtype=dtypes, header=1, parse_dates=True) 

. Dt.datetime'nın anlaşılmamasından şikayet ediyor.

Doğrusu endeks yerine bir datetime türü olarak zaman serisi verilerinin kendisi nasıl çalışabilir?
df 
    Out[103]: 
        timestamp tide_height 
    0  2014-05-13 01:00:00  -0.283 
    1  2014-05-13 02:00:00  -0.491 
    2  2014-05-13 03:00:00  -0.557 
    ... 

lütfen: O zaman d_type argümanları kaldırırsanız

Bu gibi görünüyor? Örneğin. .. Arsa süresi v gelgit, dizine v gelgit

Denemek: plt.scatter (x = df.timestamp, y = df.tide_height) ve böylece boş bir 1.0 x 1.0 kare arsa artı bir hata alıyorum : ValueError: İlk bağımsız değişken bir dizi olmalıdır

Nihai hedefim, verileri farklı bir örnekleme sıklığına yeniden örneklemektir, ancak bu benim ilk engelim gibi görünüyor.

cevap

2

Sadece bunu yapmak gerekiyor ve pandalar veri türü anlayacaksınız:

import pandas as pd 

df = pd.read_csv('df.csv', parse_dates = True, index_col = 0) 

Sonra df.plot() x ekseni üzerinde zamanla size bir zaman serisi arsa verecek. Erişime datetime nesneleri olarak endeks istiyorsanız, çok

df.index.to_pydatetime() 
+0

Teşekkür yapabilir - Ben index_col bayrağının önemini anlaşılamamıştır ediyorum ve bu cevabın sonucunda bazı şeyleri öğrendim. – DHBI