“我在csv中有一个数据集,它是一个字段名称”情节“,我们将在其中为将来的体育赛事收集数据”“”“印度VS巴基斯坦和巴基斯坦VS印度在同一日期是否可以删除重复项
预先感谢
答案 0 :(得分:1)
您可以使用的一种方法是对熊猫进行排名,按所需列分组
df["RANK"] = df.groupby("Column_1")["Column_2"].rank(method="first", ascending=True)
这应按分组返回数据帧,因此三行重复对象应分别排在第1,2和3位。从那里,您可以获取数据帧的子集,其中rank=1
,这将为您提供一个没有重复的数据帧。
答案 1 :(得分:0)
创建一个新的匹配列,然后drop_duplicates
# sample df
df = pd.DataFrame({'a': [1,1,1,1,1],
'b': ['Bulldogs at Aztecs', 'Aztecs at Bulldogs', 'Bearcats at Huskies', 'Huskies at Bearcats', 'something else']})
# list comprehension and sort words in string
df['match'] = [' '.join(sorted(x.split())) for x in df['b'].values]
# a b match
# 0 1 Bulldogs at Aztecs Aztecs Bulldogs at
# 1 1 Aztecs at Bulldogs Aztecs Bulldogs at
# 2 1 Bearcats at Huskies Bearcats Huskies at
# 3 1 Huskies at Bearcats Bearcats Huskies at
# 4 1 something else else something
# drop_duplicates
df.drop_duplicates(['a', 'match'], keep='first').drop(columns='match')
# a b
# 0 1 Bulldogs at Aztecs
# 2 1 Bearcats at Huskies
# 4 1 something else