首页 > 解决方案 > Pandas 0.22.0 版 - drop_duplicates() 有一个意外的关键字参数“keep”

问题描述

我正在尝试使用 drop_duplicates(subset=[''], keep=False) 在我的数据框中删除重复项。显然它在我的 Jupyter Notebook 中工作正常,但是当我尝试通过终端作为 .py 文件执行时,我收到以下错误:

Traceback (most recent call last):
  File "/home/source/fork/PySpark_Analytics/Notebooks/Krish/beryllium_pandas.py", line 54, in <module>
    dffsamelname = dffsameflname.drop_duplicates(subset=['INDIVIDUAL_LASTNAME'], keep=False)

File "/var/webeng/opensource/aetna-anaconda/lib/python2.7/site-packages/pandas/util/decorators.py", line 88, in wrapper
    return func(*args, **kwargs)
TypeError: drop_duplicates() got an unexpected keyword argument 'keep'

检查熊猫版本是否> 0.18,因为当时引入了keep = false。

# Trying to drop both the records with same last name
dffsamelname = dffsameflname.drop_duplicates(subset=['INDIVIDUAL_LASTNAME'], keep=False)

我想删除被删除的两个记录。因此 keep=false 是必要的。

如果我删除keep = false,它就可以正常工作。

标签: pythonpandaspython-2.7dataframe

解决方案


可能您的对象不是原生 pandas 数据框,而是 pyspark 数据框。从这个http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.drop_duplicates看来,子集是唯一接受的参数。您可以添加导入和创建数据框的行吗?


推荐阅读