我有一些. csv文件是由计算流体动力学模拟生成的。它们包含空间中给定点的速度、压力、密度等值。对于每个点,其坐标和该点的字段值都打印在csv文件中的一行上。对于x值为1,2,3,y值为4,5,6的2D网格,数据以如下方式排列:
X Y (field variables)
1 4 :
2 4 :
3 4 :
1 5 :
2 5 :
3 5 :
1 6 :
2 6 :
3 6 :
我们从最小的y值开始,循环所有的x值,然后转到下一个y值并重复。
我想做的是将这些数据转换成结构化格式,也就是说,我想将这些数据放入一个使用x和y值作为坐标轴的xarray数据集中,或者将这些值放入一个具有适当形状的numpyndarray中(在本例中为3X3.)。我可以将文件加载到Pandas Dataframe 中,然后使用for循环手动重组数据,但是这对于即使是中等大小的数据文件也是非常慢的。我想要一种更快的方法,使用Pandas,numpy和xarray库中的内置函数。
有人有什么想法吗?
2条答案
按热度按时间vyswwuz21#
我相信这可以通过一个for循环手动完成,该循环只迭代你的状态变量列表(即rho)。
对于3x3数据:
输出:
对于4x4数据:
输出:
chy5wohz2#
下面是一个同时使用Xarray和Pandas的示例:
这将生成如下所示的Xarray数据集: