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 False1 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')
關鍵字錯誤,索引的問題。