2014-01-28 124 views
2

我想重新取樣基於1分鐘的數據到一天。我曾嘗試在IPython的如何重新採樣時間序列熊貓數據框?

import pandas as pd 
import numpy as np 
from pandas import Series, DataFrame, Panel 
import matplotlib.pyplot as plt 
%matplotlib inline 

data = pd.read_csv("DATALOG_22_01_2014.csv",\ 
names = ['DATE','TIME','HUM1','TMP1','HUM2','TMP2','HUM3','TMP3','WS','WD']) 

data.set_index(['DATE','TIME']) 

data.resample('D',how=mean) 

下面的代碼,但我得到了以下錯誤

--------------------------------------------------------------------------- 
NameError         Traceback (most recent call last) 
<ipython-input-75-aa63b6b16877> in <module>() 
----> 1 data.resample('D', how=mean) 

NameError: name 'mean' is not defined 

你能幫助我嗎?

謝謝

雨果

+0

使用data.set_index(['DATE','TIME'],inplace = True'';返回的副本現在只是被丟棄,因此重採樣將失敗 – Jeff

+0

謝謝!!!它的工作。 「drop」index column? – Hugo

+0

no,''set_index''返回一個新的幀(另一方面,inplace會修改數據)大多數熊貓函數返回一個新的對象,通常你會這樣做''data = data.set_index ['DATE','TIME']); resampled_data = data.resample('D',how ='mean')'' – Jeff

回答

3

嘗試

data.resample('D', how='mean') 

代替。現在您要求Python將mean對象作爲how參數傳遞給resample方法,但您沒有定義它。

+0

謝謝,我收到了一個新錯誤。發送給你? – Hugo

+1

@Hugo:SO以問題/答案的形式提出問題,你問的是離散的,具體的問題,然後回答問題,而不是你提出多個問題的線程格式。[Aside:you're also可能將不得不使用'parse_dates',並且'set_index'不會沒有到位。我建議通讀本教程。] – DSM

+0

好的。我會。再一次感謝你 – Hugo