熊猫,非索引csv中的顺序搜索

时间:2018-02-02 12:58:58

标签: python pandas dataset

我和Pandas开了一个大的.csv。 它有2列,列“a”是timpestamp(Unix时间戳),列“b”是值。 数据是高频率的(大约1点/秒),但间隔不均匀,有时是每秒5点,有时是每5秒1点。

我需要每5分钟将它缩小到1点或者花几秒钟但是由于间距的不均匀性,我可以想象的唯一方法如下:

- 读取第一个时间戳的值

- 通过以下所有时间戳,直到找到一个值等于或高于第一个值+300秒的值。将时间戳+值输出到输出文件

- 查找下一个数据点,搜索时间戳等于或高于第一个时间戳+ 300 * N秒的第一个数据点。

为了做到这一点,我需要使用某种“索引”来访问.csv的行,枚举它们可能会没问题。

怎么做?我会在几秒钟内在Sql中完成它,但我在这里很丢失。

编辑:要明确这不是重复,可以用更抽象的方式将问题重新表述为“如何随意索引导入的数据集。”

1 个答案:

答案 0 :(得分:1)

使用Pandas方法可以很容易地做到这一点:

df = pd.read_csv(filename)
# convert UNIX timestamp to datetime
df.index = pd.to_datetime(df.pop('a'), unit='s', errors='coerce')
df.resample('5T').mean().to_csv(filename)