python - 删除python中的重复列表
问题描述
我想在使用后删除数据中的重复列表stack()
。这是示例
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
进入
node1 node2 value
A B 0.05
A C 0.84
B C 0.97
谢谢
编辑:我附上我的数据照片。第 2 行和第 174 行具有相同的节点但位置不同。我只想保留一个交互(row2)Ps。该值不是唯一的。
解决方案
对,所以我是一名 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% 确信,合适的人可以将其缩短为更流畅的代码。希望它在此期间有所帮助!
推荐阅读
- java - 在 Java 源代码中增加堆大小
- google-apps-script - 访问 Google 表单的公共响应版本
- javascript - 无法让 npm 和 sqlite3 在 MacOS Catalina 上工作
- javascript - Javascript:如何将 < 添加为标签 html 的文本
- performance - Jmeter 随着时间的推移活动威胁
- typescript - 键入不带任何内容的“类型谓词”
- python - 在 celery 中使用和弦完成多项任务
- c++ - 循环依赖在单个文件中编译,但在多个文件中不编译
- pipedrive-api - 如何从 pipedrive API 获取特定于阶段的重要字段
- typescript - Typescript CDK,如何将文件添加到 ec2 实例?