在Pandas中删除第n行

3

我有一个 Pandas 数据框,其中包含按 34 毫秒递增的时间序列,但我只需要每 5 秒一次的数据。我尝试将时间戳设置为索引并使用 resample 和 .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。将此数据压缩为5秒间隔的最佳方法是什么?


resample() 函数有什么问题吗? - MaxU - stand with Ukraine
取决于你想要什么,依我之见,重新采样是我会做的。 - EdChum
你是想每5秒汇总(对行进行求和/平均等操作),还是只获取相隔5秒的所有行? - sedavidw
1个回答

5

我认为你可以使用resamplefirst来处理相关的IT技术内容:

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

请参见文档

如果使用旧版的pandas,如0.18.0

print (data.resample('5S', how='first'))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接