2017-05-07 10 views
1

私はPythonとpandasを初めて使っています。Python Pandas csvファイルの重複を削除しないでください。

私は、たとえば、すべての行のためのいくつかのデータをcsvファイルを持っている想像してみて:

data1, data2, data3, data4 

には見出し、単にデータが存在しない、と私は

場合、このようなファイル内の一部の行を削除する必要があります
(row1.data3 and row1.data4) == (row2.data3 and row2.data4) 

行全体が削除されます。

どうすれば実現できますか?

私はremove_duplicatesを使用しようとしましたが、見出しを付けずにそれを行う方法はわかりません。

歓声

+0

remove_duplicatesの後にデータフレームをリセットしていますか?あなたがそれを求めない限り、remove_duplicatesはインプレースで動作しません。 見出しはあまり重要ではありません。行が別の行の複製であり、それらが同じデータ型である場合、remove_duplicatesはそれを削除する必要があります。 –

+0

これまでのコードを教えてください。 –

答えて

2

は、あなたが、ヘッダなしdfを持って起こるとしましょう:

df = pd.read_csv("./try.csv", header=None) 
df 
# The first row is integers inserted instead of missing column names 
    0 1 2 
0 1 1 1 
1 1 1 1 
2 2 1 3 
3 2 1 3 
4 3 2 3 
5 3 3 3 

その後、あなたは列のサブセットにdrop_duplicatesを行うことができます

df.drop_duplicates([0]) 
    0 1 2 
0 1 1 1 
2 2 1 3 
4 3 2 3 

または

df.drop_duplicates([0,1]) 

    0 1 2 
0 1 1 1 
2 2 1 3 
4 3 2 3 
5 3 3 3 

結果を新しい変数に割り当てることを忘れないでください。inplace=True

+0

@ user1583007それがあなたのために働いた場合、なぜ答えを受け入れないのですか? –

関連する問題