Python Pandas – 创建一个子集并仅显示重复值中的最后一条记录


要创建子集并仅显示重复值中的最后一条记录,请将 “保留” 参数与 drop_duplicates() 方法中的 “last” 值结合使用。drop_duplicates() 方法删除了重复内容。

我们先创建一个有 3 列的数据框 -

dataFrame = pd.DataFrame({'Car': ['BMW', 'Mercedes', 'Lamborghini', 'BMW', 'Mercedes', 'Porsche'],'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Delhi', 'Hyderabad', 'Mumbai'],'UnitsSold': [85, 70, 80, 95, 55, 90]})

删除重复内容并显示最后一条记录。使用保留参数,我们设置了 “last”。除最后一条记录外的重复行将被删除。我们使用 “子集” 参数考虑了一个子集 -

dataFrame2 = dataFrame.drop_duplicates(subset = ['Car', 'Place'], keep ='last').reset_index(drop = True)

示例

以下是代码 -

import pandas as pd

# Create DataFrame
dataFrame = pd.DataFrame({'Car': ['BMW', 'Mercedes', 'Lamborghini', 'BMW', 'Mercedes', 'Porsche'],'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Delhi', 'Hyderabad', 'Mumbai'],'UnitsSold': [85, 70, 80, 95, 55, 90]})

print"Dataframe...\n", dataFrame

# removing duplicates and displaying last entry
# using keep parameter, we have set "last"
# duplicate rows except the last entry will get deleted
# considered a subset using the subset parameter
dataFrame2 = dataFrame.drop_duplicates(subset = ['Car', 'Place'], keep ='last').reset_index(drop = True)
print"\nUpdated DataFrame after removing duplicates...\n",dataFrame2

输出

这将生成以下输出 -

Dataframe...
           Car       Place   UnitsSold
0          BMW       Delhi          85
1     Mercedes   Hyderabad          70
2  Lamborghini  Chandigarh          80
3          BMW       Delhi          95
4     Mercedes   Hyderabad          55
5      Porsche      Mumbai          90

Updated DataFrame after removing duplicates...
           Car       Place   UnitsSold
0  Lamborghini  Chandigarh          80
1          BMW       Delhi          95
2     Mercedes   Hyderabad          55
3      Porsche      Mumbai          90

更新于:22-9-2021

990 次浏览

开启你的 职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.