我在刪除重複項時遇到問題。我的程序基於一個生成元組(x,y)的循環,然後這些元組用作圖形中的節點。節點的最後陣列/矩陣爲:刪除Python中的重複項Pandas DataFrame不刪除重複項
[[ 1. 1. ]
[ 1.12273268 1.15322175]
[..........etc..........]
[ 0.94120695 0.77802849]
**[ 0.84301344 0.91660517]**
[ 0.93096269 1.21383287]
**[ 0.84301344 0.91660517]**
[ 0.75506418 1.0798641 ]]
數組的長度爲22。現在,我需要刪除重複的條目(見**)。所以我用:
def urows(array):
df = pandas.DataFrame(array)
df.drop_duplicates(take_last=True)
return df.drop_duplicates(take_last=True).values
好極了,但我仍然得到:
0 1
0 1.000000 1.000000
....... etc...........
17 1.039400 1.030320
18 0.941207 0.778028
**19 0.843013 0.916605**
20 0.930963 1.213833
**21 0.843013 0.916605**
因此下降重複不消除任何。我測試過,看看實際上和我得到的節點是否相同:
print urows(total_nodes)[19,:]
---> [ 0.84301344 0.91660517]
print urows(total_nodes)[21,:]
---> [ 0.84301344 0.91660517]
print urows(total_nodes)[12,:] - urows(total_nodes)[13,:]
---> [ 0. 0.]
爲什麼它不起作用???我如何刪除這些重複的值?
一個問題....
說兩個值是「幾乎」等於(說x1和x2),有沒有什麼辦法來取代他們的方式,他們都等於????我想要的是用x1替換x2,如果它們「幾乎」相等。
drop_duplicates *不*維持秩序,我不明白你在問什麼......是有可能降簡化這個問題? – 2013-05-02 10:59:22
謝謝。我完全編輯並重新構思了這個問題。我意識到我錯誤地問了錯誤的東西。 – Oniropolo 2013-05-02 15:41:18
我不知道熊貓,但是有可能a)條目在稍後的小數位不同,或者b)它們是兩個不同的列表(它們恰好具有相同的條目),它們的對象標識進行比較?如果兩者都不是這樣,請忽略我的評論... – 2013-05-02 15:50:42