2016-05-26 5 views
3

私は34ミリ秒の時系列を持つパンダdfを持っています。私は5秒の解像度しか必要としません。最初にタイムスタンプを作成し、タイムスタンプをインデックスとして設定し、リサンプルと.ilocを設定しようとしました。パンダのn番目の行を削除する

# Defining file path 
file = "C:/file/path/data.csv" 

# Read in data and parse date/time to DateTime format 
data = pd.read_csv(file,header=10,parse_dates=[[0,1]],dayfirst=False) 

# time stamp in preferred format 
data['date_stamp'] = pd.to_datetime(data['Date_ Time'],dayfirst=False) 

#trying to get every 5 seconds, not 34 milliseconds 
data.iloc[::15,:] 

# saving new file to csv 
data.to_csv(""C:/file/path/data.csv"",date_format='%Y%m%d %H:%M:%S') 

タイムインデックスを作成して再サンプリングするのが最適でしょうか?このコードは常にdf内の同じデータを返します。このデータを5秒間隔で凝縮する最良の方法は何ですか?

+0

'リサンプル()'と何が間違っていますか? – MaxU

+0

はあなたが望むものに依存しますが、IMOの 'resampl'ingは私がやることです – EdChum

+0

5秒ごとに集計しようとしていますか(合計/平均/その他の行)、5秒間離れているすべての行を取得しようとしていますか? – sedavidw

答えて

5

私はあなたがfirstresampleを使用することができると思う:0.18.0として古いパンダを使用する場合は

data.set_index('date_stamp', inplace=True) 
print (data.resample('5S').first()) 

docs

を参照してください:

print (data.resample('5S', how='first')) 
関連する問題