pandas去除重复值drop_duplicates问题

win10电脑环境下运行代码如下:

# 重复值处理
import pandas as pd # 导入pandas库

# 生成重复数据
data1 = ['a', 3]
data2 = ['b', 2]
data3 = ['a', 3]
data4 = ['c', 2]
df = pd.DataFrame([data1, data2, data3, data4], columns=['col1', 'col2'])
print (df)

# 判断重复数据
isDuplicated = df.duplicated() # 判断重复数据记录
print (isDuplicated) # 打印输出

# 删除重复值
new_df1 = df.drop_duplicates() # 删除数据记录中所有列值相同的记录
new_df2 = df.drop_duplicates(['col1']) # 删除数据记录中col1值相同的记录
new_df3 = df.drop_duplicates(['col2']) # 删除数据记录中col2值相同的记录
new_df4 = df.drop_duplicates(['col1', 'col2']) # 删除数据记录中指定列(col1/col2)值相同的记录

print (new_df1) # 打印输出
print (new_df2) # 打印输出
print (new_df3) # 打印输出
print (new_df4) # 打印输出


正常的输出结果应该是:

 col1  clo2
0    a     3
1    b     2
2    c     2

3    a     3

0    False
1    False
2    False
3     True

dtype: bool

col1  clo2
0    a     3
1    b     2

3    c     2

col1  clo2
0    a     3
1    b     2

3    c     2

col1  clo2
0    a     3
1    b     2

col1  clo2
0    a     3
1    b     2

3    a     3

但是我运行的时候出现的了一个错误,很是费解:

Traceback (most recent call last):
  File "E:/Sublime Text/Sublime Text 3 中文版/01/重复值.py", line 22, in <module>
    new_df3 = df.drop_duplicates(['col2'])  # 删除数据记录中col2值相同的记录
  File "E:\PyCharm 2018.1.1\工作调试文件\venv\lib\site-packages\pandas\core\frame.py", line 4328, in drop_duplicates
    duplicated = self.duplicated(subset, keep=keep)
  File "E:\PyCharm 2018.1.1\工作调试文件\venv\lib\site-packages\pandas\core\frame.py", line 4378, in duplicated
    raise KeyError(diff)

KeyError: Index(['col2'], dtype='object')

关键字错误,索引的问题。

阅读更多
文章标签: pandas
个人分类: pandas
上一篇pycharm常用快捷键和设置大全
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭