[英]remove duplicated list in python
是的,所以我是一個 Python 新手/初學者,但嘗試了一些不同的東西,從我能找到的點點滴滴中找到:
import pandas as pd
import numpy as np
df = pd.DataFrame({'node1':['A','A','B','B','C','C'],
'node2':['B','C','A','C','A','B'],
'value':[0.05,0.84,0.05,0.97,0.84,0.97]})
df = df[['value','node1','node2']] #Step 1: re-arange dataframe to work properly
df['value'] = df['value'].astype(str) #Step 2: float type (numbers) to string type
df = pd.DataFrame(np.sort(df.values, axis=1), columns=df.columns).drop_duplicates() #Step 3: Sort and drop dups
df['value'] = df['value'].astype(float) #Step 4: string type back to float
df = df[['node1','node2','value']] #Step 5: re-arange dataframe back to starting positions
print(df)
我用過並想參考:
我 100% 確信這可以由合適的人縮短為更流暢的代碼段。 希望它在此期間有所幫助!
最后我在excel中找到了其他方法,並使用if-else函數解決了它
node1 node2 value
A B 0.05
A C 0.84
B A 0.05
B C 0.97
C A 0.84
C B 0.97
我添加新列並比較 col1 和 col2 哪個具有更高的值if(A2>B2,1,0)
node1 node2 value cond
A B 0.05 0
A C 0.84 0
B A 0.05 1
B C 0.97 0
C A 0.84 1
C B 0.97 1
我交換 col1 和 col2 其中 cond=1
node1 node2 value cond
A B 0.05 0
A C 0.84 0
A B 0.05 1
B C 0.97 0
A C 0.84 1
B C 0.97 1
最后我刪除表中的重復項
node1 node2 value
A B 0.05
A C 0.84
B C 0.97
謝謝大家想辦法解答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.