In my previous question很多用户希望我提供更多的数据以供玩弄。所以我开始导出我的所有数据并用Python进行处理,但后来我意识到:我应该把这些数据放在哪里?
好吧,我决定最好的办法是把它们保存在数据库中,所以至少我没有每次都有to parse the raw files。但由于我对数据库一无所知,结果发现这很令人困惑。我尝试了一些教程来创建sqlite数据库,添加表和字段,并尝试插入numpy.arrays,但它无法正常工作。
通常,我对每只狗的结果如下:
所以我有35只不同的狗,每只狗有24个测量值。每个测量本身都有未知数量的接触。每个测量由一个三维阵列(整个平板的248帧[255x63])和一个二维阵列(平板的每个传感器的最大值[255x63])组成。在数据库中存储一个值并不是问题,但是在其中获取2D数组似乎不起作用。
所以我的问题是,我应该如何在数据库中排序并将数组插入其中?
Django有一个库,用于将所有数据库工作封装到Python类中,因此在必须做一些非常聪明的事情之前,您不必处理原始SQL。即使Django是web应用程序的框架,您也可以use the database ORM by itself。
Josh的模型在使用Django的Python中是这样的:
自动创建
id
字段。然后你可以做如下事情:
测量:
最后,要得到一个框架:
注意:这将返回元组列表(例如
[(1.5,), (1.8,), ... ]
),因为values_list()
可以同时检索多个字段。我不熟悉NumPy,但我想它有一个类似于Matlab的reshape
函数的函数,用于将向量重新映射到矩阵。您可能想从一个
dogs
表开始,该表包含每个狗的所有平面(非数组)数据,每个狗都有一个的东西,比如一个名字、一个性别和一个年龄:从这里开始,每个狗“有许多”测量值,因此需要一个
dog_mesaurements
表来存储24个测量值:那么每当你测量的时候,你在哪里?*是来自
dogs
表的狗的ID。然后,您将希望表存储每次测量的实际帧,例如:
这样,对于250帧中的每一帧,您将遍历63个传感器中的每一个,并将该传感器的值和帧号存储到数据库中:
显然要取代测量?,帧号?传感器编号?,值?实际值:-)
所以基本上,每个
dog_measurement_data
都是给定帧的单个传感器值。这样,要获取给定帧的所有传感器值,您可以:这会给你那个框架的所有行和列。
我想你不知道如何把二维数据放入数据库。
如果考虑两列之间的关系,可以将其视为二维数据,第一列为X轴数据,第二列为Y轴数据。类似于三维数据。
最后你的数据库应该是这样的:
此外,您可能希望按顺序存储三维数据和二维数据。在这种情况下,必须添加一个列以将该顺序存储在三维数据和二维数据表中
相关问题 更多 >
编程相关推荐