我有2个excel文件。 文件1描述: - 数据频率:1Hz - 总行数:62,000
文件2说明: - 数据频率:10 Hz - 总行数:616,000
手头的任务:
要合并两组数据,请使用文件2中相同秒的10个数据点的平均值。
两个文件中的第一列是时间戳,数据记录的时间相同。但是,时间戳不相同,并且总是以毫秒为单位。
我的方法: 我使用pandas将excel文件作为Dataframes读入。
我已经能够使用for循环来完成更小的数据集。但是,由于数据量大,使用for循环非常麻烦且速度慢。 为了在文件2中每秒进行10个点的滚动平均,我之前使用过嵌套for循环。同样由于数据的性质,几乎不可能使用相同的方法。
我将非常感谢有关解决此问题的方法的任何帮助。
答案 0 :(得分:0)
您可以根据10个组为大型数据框分配组,然后使用groupby获取平均值。
df_big['group'] = [i // 10 for i in range(len(df_big))] # Python 2 truncation.
df_big.groupby('group').mean()
如果您提供这两个文件的一些示例数据,我可以改进这个答案。