我有一个看起来像这样的熊猫数据框。
'Column1' 'Column2' 'Column3'
'cat' 'bat'. 'xyz'
'toy' 'flower'. 'abc'
'cat' 'bat' 'lmn'
Run Code Online (Sandbox Code Playgroud)
我想确定cat和bat是重复的相同值,因此想删除一个记录并仅保留第一条记录。结果数据帧应该只具有。
'Column1' 'Column2' 'Column3'
'cat'. 'bat'. 'xyz'
'toy'. 'flower'. 'abc'
Run Code Online (Sandbox Code Playgroud)
stu*_*ent 16
使用drop_duplicates
具有subset
与列的列表上检查重复和keep='first'
保持第一重复的。
如果dataframe
是:
df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"],
'Column2': ["'bat'", "'flower'", "'bat'"],
'Column3': ["'xyz'", "'abc'", "'lmn'"]})
print(df)
Run Code Online (Sandbox Code Playgroud)
结果:
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
Run Code Online (Sandbox Code Playgroud)
然后:
result_df = df.drop_duplicates(subset=['Column1', 'Column2'], keep='first')
print(result_df)
Run Code Online (Sandbox Code Playgroud)
结果:
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
Run Code Online (Sandbox Code Playgroud)
import pandas as pd
df = pd.DataFrame({"Column1":["cat", "dog", "cat"],
"Column2":[1,1,1],
"Column3":["C","A","B"]})
df = df.drop_duplicates(subset=['Column1'], keep='first')
print(df)
Run Code Online (Sandbox Code Playgroud)