gpt4 book ai didi

python - Pandas DataFrame.drop_duplicates() 缺少一些东西?

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:53 26 4
gpt4 key购买 nike

我对 Python 比较陌生,对 pandas 甚至更陌生。我正在尝试开发一个简单的网络爬虫来搜索 Indeed 的职位发布。这主要是为了学习语言,但如果我从中找到一份新工作,那就更好了。

数据的性质意味着将会有很多重复项,这就是我到目前为止所看到的。因此,我想在将数据帧发送到 .csv 文件之前删除重复项。我尝试在我正在处理的代码中实现 DataFrame.drop_duplicates() ,但它不起作用。因此,我创建了一个单独的脚本来仅测试 drop.duplicates() 方法,而不必先检查所有其他代码以确保我的语法正确并且它按预期运行。这就是我所拥有的:

import pandas as pd
df=pd.DataFrame({'A':['1', '2', '3'], 'B':['1', '2', '4']})
print(df)
df1=df.drop_duplicates()
print(df1)

我的期望是 drop_duplicates() 会从 df 中删除前两行并将结果分配给 df1。除此之外,它们都是一样的。

然后我尝试了以下方法,确定 DataFrame 应用的默认索引列存在干扰:

import pandas as pd
df=pd.DataFrame({'A':['1', '2', '3'], 'B':['1', '2', '4']})
print(df)
df1=df.drop_duplicates(subset=["A", "B"])
print(df1)

这也不起作用。我尝试了相同代码的其他几个迭代,涉及“保留”和“就地”,但结果始终是与原始数据帧相同的数据帧。我缺少什么?我希望它删除前两行,因为它们是相同的。他们不是吗?或者我只是期待错误的事情......

最佳答案

您的数据框中没有逐行重复项。

根据the documentation ,重复项按行进行识别。

要删除 df['A'] == df['B'] 的行,您只需用 bool 数组进行掩码即可: df[df['A'] ! = df['B']]

df = pd.DataFrame({'A':['1', '2', '3'], 'B':['1', '2', '4']})

df[df.A != df.B]
# A B
# 3 4

关于python - Pandas DataFrame.drop_duplicates() 缺少一些东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48505470/

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