一旦SQL数据在python中出现,我如何排序和使用它?
我正在将大量数据从SQLServer导入python进行数学分析。我已经使用pandas成功地导入了它,但是我无法用python找到一种方法来按照我想要的方式对它进行排序。 我正在导入的数据具有以下格式一旦SQL数据在python中出现,我如何排序和使用它?,python,sql-server,pandas,sorting,iterator,Python,Sql Server,Pandas,Sorting,Iterator,我正在将大量数据从SQLServer导入python进行数学分析。我已经使用pandas成功地导入了它,但是我无法用python找到一种方法来按照我想要的方式对它进行排序。 我正在导入的数据具有以下格式 pick # X Y 00006630519697559571 1 1572.0000000 255.0000000 00006630519697559571 2 1642.0000000
pick # X Y
00006630519697559571 1 1572.0000000 255.0000000
00006630519697559571 2 1642.0000000 189.0000000
00006630519697559571 3 1717.0000000 279.0000000
00006630519697559571 4 1326.0000000 337.0000000
00006630519697571696 1 1290.0000000 87.0000000
00006630519697571696 2 1806.0000000 133.0000000
00006630519697571696 3 1431.0000000 214.0000000
00006630519697571696 4 1431.0000000 226.0000000
我所做的是使用python对每个拾取中所有项之间的驱动距离求和,这是我能够为单个拾取所做的。不过,我遇到的问题是,我需要对所有拾取分别执行相同的操作(大约有12700个拾取),但我不知道如何按拾取分离数据,然后对每个集合执行必要的计算。在此问题上的任何帮助都将不胜感激,谢谢。在导入数据之前,您可以在sql server中执行此操作,这应该比使用pandas要快得多。 在将“TABLENAME”替换为要查询的表的名称后,只需对服务器执行以下SQL语句
SELECT pick, SUM(X), SUM(Y)
FROM TABLENAME
GROUP BY pick;
如果你不想这样做,你也可以用熊猫做一个小组
df.groupby(['pick']].sum()
如果我只是将x和y值相加,这会起作用,但实际上我有一个完整的python代码,用于通过定义的网格系统计算从一点到另一点的行驶距离。在这种情况下,既然你说你已经有了一个函数来为一个pick
执行这个操作,你应该能够使用df.groupby(['pick'])。apply()
为每个分组执行你的函数。您可以在此处阅读更多有关内容: