我有一張包含大約3500條記錄的表格。Python可以根據時間查找重複數據和合並數據
我想循環查找基於我創建的字段名稱UNIQUEID,可能是每個記錄2,3,4的重複項。我的最終目標是要合併具有相同UNIQUEID值的記錄,但不同的舍入類型值
OID UNIQUEID RTYPE TIME OTHER
1 ABC_20170215 SENT 12:30 item1
2 ABC_20170215 RECEIVED 12:29
3 ABC_20170215 SENT 12:35 item4
現在,當我發現我的重複,我想檢查舍入類型,如果舍入類型是不同的,然後做數學題,找出哪些一個是最接近的時間併合並這兩個。
所以我最終的目標,在上面的表中,記錄1和2將被合併,並且我不關心像RTYPE或TIME這樣的列,但是如果有數據,我想保留它像OTHER這樣的列。
所以這裏是我到目前爲止尋找重複的代碼,我認爲這給了我一些倍數問題。
###set up cursors
cursor1 = arcpy.da.SearchCursor(shp, ["UNIQUEID", "RTYPE"])
cursor2 = arcpy.da.SearchCursor(shp, ["UNIQUEID", "RTYPE"])
count = 0
#make a dictionary and store values from my table
idUnique = {}
for row in cursor1:
idUnique[row[0]] = row[0]
idUnique[row[1]] = row[1]
#loop through other table
for row in cursor2:
if row[0] == idUnique[row[0]]:
print "Row 1 {}".format(row[0]) + " --{}".format(row[1])
print "ID Row 1 {}".format(idUnique[row[0]]) + " --{}".format(idUnique[row[1]])
任何幫助將是驚人的!
我的預期產出將
OID UNIQUEID RTYPE TIME OTHER
1 ABC_20170215 <whatever> <whatever> item1
3 ABC_20170215 <whatever> <whatever> item4
你能顯示預期的輸出嗎? – akilat90
可能是'df.groupby()'會幫助! – ileadall42
你得到了什麼錯誤或不正確的輸出? – Erica