【发布时间】:2018-03-30 01:32:52
【问题描述】:
我有两组数据。
第一个数据集如下所示:
Storm_ID,Cell_ID,Wind_speed
2,10236258,27
2,10236300,58
2,10236301,25
3,10240400,51
第二个数据集如下所示:
Storm_ID,Cell_ID,Storm_surge
2,10236299,0.27
2,10236300,0.27
2,10236301,0.35
2,10240400,0.35
2,10240401,0.81
4,10240402,0.11
现在我想要一个看起来像这样的输出:
Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27,0
2,10236299,0,0.27
2,10236300,58,0.27
2,10236301,25,0.35
2,10240400,0,0.35
2,10240401,0,0.81
3,10240400,51,0
4,10240402,0,0.11
我尝试在 Linux 中加入命令来执行此任务,但失败了。加入命令跳过了数据库中不匹配的行。我可以使用 Matlab,但数据大小超过 100 GB,这使得这项任务非常困难。 有人可以指导我吗?我可以使用 SQL 或 python 来完成这个任务吗?感谢您的帮助,谢谢。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
-
@Gordon 在上面的示例中已经表示了小型数据库集。抱歉,如果这不是正确的方法。我是堆栈溢出的新手
-
@GordonLinoff 我不确定他是否想使用数据库。看起来他有一个 CSV 文件并想使用 UNIX
join命令 shapeshed.com/unix-join 对我来说这看起来是一个有趣的问题,但他仍然需要更多地解释他对skipped the rows which didn't match in the database的含义。好像他有 SQL 和 CSV 中的数据,当他将 SQL JOIN 与 CSV UNIX 连接进行比较时,结果不同。我们无法从给出的信息中知道原因。
标签: python sql linux join multikey