Python 当一列中有多行具有重复值时,如何选择第一行
当一列中有多行具有重复值时,我希望选择第一行 例如:Python 当一列中有多行具有重复值时,如何选择第一行,python,pandas,dataframe,Python,Pandas,Dataframe,当一列中有多行具有重复值时,我希望选择第一行 例如: import pandas as pd df = pd.DataFrame({'col1':['one', 'one', 'one', 'one', 'one', 'one', 'one', 'one'], 'col2':['ID=ABCD1234', 'ID=ABCD1234', 'ID=ABCD1234', 'ID=ABCD5678', 'ID
import pandas as pd
df = pd.DataFrame({'col1':['one', 'one', 'one', 'one', 'one', 'one', 'one', 'one'],
'col2':['ID=ABCD1234', 'ID=ABCD1234', 'ID=ABCD1234', 'ID=ABCD5678',
'ID=ABCD5678', 'ID=ABCD5678', 'ID=ABCD9102', 'ID=ABCD9102']})
熊猫数据框如下所示:
print(df)
col1 col2
0 one ID=ABCD1234
1 one ID=ABCD1234
2 one ID=ABCD1234
3 one ID=ABCD5678
4 one ID=ABCD5678
5 one ID=ABCD5678
6 one ID=ABCD9102
7 one ID=ABCD9102
我希望选择第0行、第3行和第6行,并将其作为新的数据帧输出
预期产出:
col1 col2
0 one ID=ABCD1234
3 one ID=ABCD5678
6 one ID=ABCD9102
只需按行的值分组,然后使用
first()
选择第一行:
df.groupby('col2').first()
您也可以决定按多个列分组:
df.groupby(['col1', 'col2']).first()
您可以使用:
df.drop_duplicates(subset = ['col2'], keep = 'first', inplace = True)
使用
df=df.drop_duplicates()
我喜欢这个解决方案,因为它的语法非常优雅。