我需要一些关于如何从我的数据库表中删除重复记录的帮助。我有一个一百万条记录的表格,它已经收集了两年的时间,因此有一些记录,需要删除,因为他们已经被添加到数据库中的许多次。
以下是我根据匹配重复项的三列编写的查询,进行计数,我还添加了其中一列的长度,因为这将决定我是删除所有记录还是只删除重复项。
SELECT
Ref_No,
End_Date,
Filename,
count(*) as cnt,
length(Ref_No)
FROM
master_table
GROUP BY
Ref_No,
End_Date,
我正在使用pandas库
我有一个包含数百个数据部分重复项的大型数据库(一列或两列相同,但其中一列包含附加信息)。我希望合并重复的实例,同时保留具有最多信息的行。我只能弄清楚如何合并两个数据库,而不是一个单一数据库中的数据。
示例:
Col 1: Name, Col 2: Age, Col 3: Other, Col 4: Other, Col 5: Other
Row1 Aaron Miser, 32, Plumber, 4 Children, NaN
Row2 Aaron Miser, 32, NaN, NaN, NaN
Row3 Aaron Miser, 3
我有一个csv文件pruned_results.txt,如下所示:
2018-08-01 08:41:08, Wait for OK to Measure
2018-08-01 09:02:26, Wait for OK to Measure
2018-08-01 10:49:06, Wait for OK to Measure
2018-08-01 14:19:16, Wait for OK to Measure
2018-08-01 21:46:23, Wait for OK to Measure
2018-08-02 01:11:06, Wait for OK to Measure
20
这是我的困惑:
我需要基于主键连接两个表的所有列,但我不想在结果中重复主键。第二个表有主键,然后是未知的列号和名称。
所以本质上我想
SELECT * (except for b.PK) FROM
TableA a
JOIN TableB b ON a.PK = b.PK
显而易见的解决方案是从表a( a.PK除外)中显式地选择所有列,但假设我也不知道表a中列的数目或名称(除了我知道它有PK)。
因此,总结如下:
如何通过它们的PK连接两个表,其中我不明确地知道它们的其余列,并且不在结果中重复PK?
编辑:(在Server中使用T)
当我将SQLite实现到我现有的程序中时,我正在尝试处理SQL。
我正在努力解决如何在一个特定列中显示搜索重复值的结果,在找到重复值的地方,我希望显示与找到重复的列单元格对应的所有行。
例如,对于数据库中的数据是:
Column A | Column B | Column C
Peter | Smith | 1234
Claire | Walter | 1234
Sandra | Kay | 0000
Oliver | Meeson | 3456
Alex | Grey | 0000
James | Garnder | 2489
我有一个很大的时间表数据帧,我需要计算运行的实验数量。挑战在于,for的用法在行中重复(这是可以的),但在某些列中重复,但不是所有列中。我想删除第二个条目(如果重复的话),但我不能删除整个第二列,因为它也将包含一些新值。如何以并排的方式比较两个列的单个条目,并在存在重复项时删除第二个条目?此操作的持续时间最多为两天,因此连续三天是从第三天开始具有相同名称的新事件。实验名称的实际文本很复杂,数据框有120列宽,因此不可能将其作为列表或字典键入。我希望使用python或numpy函数,但也可以使用循环。 以下是起始数据帧和所需输出的示例图片。starting data frame example