gpt4 book ai didi

python - Pandas :删除重复的行对

转载 作者:行者123 更新时间:2023-11-28 21:47:09 29 4
gpt4 key购买 nike

我在 Py pandas 中有以下 DataFrame

    source  target  value   type
0 10 1200 0.500 Undirected
1 13 3333 0.600 Undirected
2 10 1200 0.500 Undirected
3 15 2300 0.350 Undirected
4 18 5300 0.250 Undirected
5 17 2300 0.100 Undirected
6 13 3333 0.600 Undirected
  1. 我喜欢删除重复的每一行(出现两次或更多的)。在这种情况下,具有索引 0索引 2 的行和索引 1索引 6 应被识别为重复项,以便我们只保留其中一个条目。
  2. 如何显示源和目标的重复项?我喜欢反复检查“值”是否真的始终相同。

最佳答案

设置

from StringIO import StringIO
import pandas as pd

text=""" source target value type
0 10 1200 0.500 Undirected
1 13 3333 0.600 Undirected
2 10 1200 0.500 Undirected
3 15 2300 0.350 Undirected
4 18 5300 0.250 Undirected
5 17 2300 0.100 Undirected
6 13 3333 0.600 Undirected"""

df = pd.read_csv(StringIO(text), delim_whitespace=True, index_col=[0])

解决方案

print df[df.duplicated()]

source target value type
2 10 1200 0.5 Undirected
6 13 3333 0.6 Undirected

print df.drop_duplicates(keep=False)

source target value type
3 15 2300 0.35 Undirected
4 18 5300 0.25 Undirected
5 17 2300 0.10 Undirected

说明

df.duplicated() 返回复制内容的 bool 掩码

df.drop_duplicates() 删除重复的行

keep=False 指定删除所有已复制的行,而不是保留复制的第一行或最后一行。 pandas drop duplicates: documentation

关于python - Pandas :删除重复的行对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923322/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com