Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当一列中有多行具有重复值时,如何选择第一行_Python_Pandas_Dataframe - Fatal编程技术网

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()
我喜欢这个解决方案,因为它的语法非常优雅。