使用Python分析大量传感器数据

Sam*_*ral 6 python excel sensor pandas

我是Python的新手,我必须分析一个包含Excel格式的原始sensordata的大型数据集.

对于每个研究参与者,每个Excel数据文件大于100 MB.excelfile包含5张用于测量5种不同生理参数的薄片.每张纸包含超过100万行和两列(时间,生理参数).

在100万行sensordata之后,数据会自动在Excel文件的以下列(C和D)中继续.

每次我尝试在Python中加载数据文件时,都需要永远.我想知道几件事:

1)如何告诉Python从特定的 Excel工作表中读取数据?这花了这么长时间是正常的吗?

这是我试过的:

df = pd.read_excel("filepath", sheet_name="Sheetname")
print (df.head (5)) 
Run Code Online (Sandbox Code Playgroud)

2)使用Pandas在Python中为大型数据文件进行数据修改是否可行?我试过这个来加快这个过程:

import xlrd
work_book = xlrd.open_workbook('filepath', on_demand=True)
work_book.release_resources()
Run Code Online (Sandbox Code Playgroud)

3)后来:我想比较不同研究参与者的生理参数.由于这是研究参与者之间的时间序列分析,我怎样才能在Python中开始这样做?

我在几天内学会了Python的基础知识,到目前为止我都很喜欢它.我意识到我还有很长的路要走.

更新:我想我刚刚完成了时间序列分析(实际上只是趋势分析,使用Dickey-Fuller测试和滚动均值可视化技术)!:D非常感谢你的帮助!大熊猫中的"datetime"模块对我来说是最困难的,而我的日期时间列仍然被识别为"对象".这是正常的吗?不应该是datetime64吗?

Cha*_*dau 1

您描述的数据集听起来像是该dask项目针对的问题。pandas它允许您在内存不足的情况下并行使用大多数标准命令。

唯一的问题是,据我所知,dask 没有 Excel 阅读器。由于您的问题表明数据不适合内存...您可能想在 Excel 中手动将数据转换为 csv,那么您可以简单地:

# After pip install dask
import dask.dataframe as dd
df = dd.read_csv("./relpath/to/csvs/*.csv")
# Do data munging here
df.compute()
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,也许您尝试将数据加载到 Spark 或数据库中并在那里进行转换会更好。

回复:您关于时间序列的问题,请首先阅读此处有关此主题的文档。