Abh*_*til 5 python dataframe pandas
当一列中有多个具有重复值的行时,我想选择第一行。
例如:
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']})
Run Code Online (Sandbox Code Playgroud)
熊猫数据框如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我希望第 0 行、第 3 行和第 6 行被选中并作为新数据帧输出。
预期输出:
col1 col2
0 one ID=ABCD1234
3 one ID=ABCD5678
6 one ID=ABCD9102
Run Code Online (Sandbox Code Playgroud)
只需按行的值进行分组并用于first()选择第一行:
df.groupby('col2').first()
Run Code Online (Sandbox Code Playgroud)
您也可能决定按多列进行分组:
df.groupby(['col1', 'col2']).first()
Run Code Online (Sandbox Code Playgroud)
您可以使用:
df.drop_duplicates(subset = ['col2'], keep = 'first', inplace = True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2836 次 |
| 最近记录: |