我正在尝试使用 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'
检查 pandas 版本是否 >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,它就可以正常工作。
最佳答案
您的对象可能不是 native pandas 数据框,而是 pyspark 数据框。 从这里http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.drop_duplicates看来子集是唯一接受的参数。您可以添加导入以及创建数据框的行吗?
关于python - Pandas 版本 0.22.0 - drop_duplicates() 得到意外的关键字参数 'keep',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56676482/