【发布时间】:2016-09-24 13:17:00
【问题描述】:
我有一个时间序列为 34 毫秒的 Pandas df,我只需要 5 秒的分辨率。我最初创建了一个时间戳,并尝试将时间戳设置为索引并重新采样和 .iloc。
# 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.xml 中返回相同的数据。将此数据压缩为 5 秒间隔的最佳方法是什么?
【问题讨论】:
-
resample()有什么问题? -
取决于你想要什么,IMO
resampling 是我会做的 -
您是要每 5 秒聚合一次(总和/平均/等行)还是只抓取所有相隔 5 秒的行
标签: python datetime pandas resampling