我在删除重复项时遇到问题。我的程序基于一个循环,该循环生成元组 (x,y),然后将其用作图中的节点。最终的节点数组/矩阵是:
[[ 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。