2016-01-09 53 views
0

我有這個數據從CSV加載。如何重新採樣從CSV加載的日期列與熊貓?

 Date      X   Y   Z 
    0 2015-11-30 20:23:05.556  281.764900 -43.895060 8.714666 
    1 2015-11-30 20:23:05.757  192.519990 -44.636436 1.720552 
    2 2015-11-30 20:23:05.958  149.030600 -45.098050 1.958352 
    3 2015-11-30 20:23:06.171  140.707600 -44.622448 1.510729 
    4 2015-11-30 20:23:06.366  139.154890 -45.154003 4.783974 
    5 2015-11-30 20:23:06.564  138.875140 -44.790306 2.266093 
    6 2015-11-30 20:23:06.766  138.357570 -44.048930 4.210457 
    7 2015-11-30 20:23:06.967  136.846830 -45.909367 -2.196152 
    8 2015-11-30 20:23:07.168  137.322430 -45.126026 0.139882 
    9 2015-11-30 20:23:07.369  137.322430 -45.349840 0.587506 
    10 2015-11-30 20:23:07.573  132.552460 -48.455223 5.259574 

列的dtypes是這些:

Date datetime64[ns] 
X    float64 
Y    float64 
Z    float64 
dtype: object 

我想重新取樣例如Date列上百毫秒。我試圖用

something.unstack().Date.resample('100L').Date.stack() 

但它只是寫的失誤

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex 

你知道該怎麼辦呢?

+0

什麼是你列的dtypes?此外,如果你在使用閱讀本'read_csv'你可能已經解析柱爲datetime並將其設置爲索引:'DF = pd.read_csv(FILE_PATH,parse_dates = [0],indexcol = [0])'和然後調用'resample' – EdChum

+0

我編輯了dtypes。但是我有專欄作爲日期時間,所以問題在我認爲的其他地方。 –

+0

只能用datetimeindex重新取樣,所以你需要調用set_index與日期列 – EdChum

回答

0
df.index = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S.%f') 
df = df.drop('Date', axis=1) 
df = df.resample('resamplestring', how='mean') 
+0

我覺得這是更好地修改字段'df.Date'然後用'set_index'爲'df':'df.Date = pd.to_datetime( DF [ '日期'],格式= '%Y-%間 - %d%H:%M:%S%F')'和'df.set_index( '日期',就地=真)' –