Python:循环遍历60000行的替代方法

时间:2016-01-25 21:47:40

标签: python excel loops pandas dataframe

我有2个excel文件。 文件1描述: - 数据频率:1Hz - 总行数:62,000

文件2说明: - 数据频率:10 Hz - 总行数:616,000

手头的任务:

要合并两组数据,请使用文件2中相同秒的10个数据点的平均值。

两个文件中的第一列是时间戳,数据记录的时间相同。但是,时间戳不相同,并且总是以毫秒为单位。

我的方法: 我使用pandas将excel文件作为Dataframes读入。

我已经能够使用for循环来完成更小的数据集。但是,由于数据量大,使用for循环非常麻烦且速度慢。 为了在文件2中每秒进行10个点的滚动平均,我之前使用过嵌套for循环。同样由于数据的性质,几乎不可能使用相同的方法。

我将非常感谢有关解决此问题的方法的任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以根据10个组为大型数据框分配组,然后使用groupby获取平均值。

df_big['group'] = [i // 10 for i in range(len(df_big))]  # Python 2 truncation.
df_big.groupby('group').mean()

如果您提供这两个文件的一些示例数据,我可以改进这个答案。