Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Tạo một tập hợp con và chỉ hiển thị mục nhập cuối cùng từ các giá trị trùng lặp

Để tạo một tập hợp con và chỉ hiển thị mục nhập cuối cùng từ các giá trị trùng lặp, hãy sử dụng nút “ giữ ”Với thông số‘ cuối cùng ”Trong phương thức drop_duplicates (). Phương thức drop_duplicates () đã loại bỏ các bản sao.

Trước tiên, chúng ta hãy tạo một DataFrame có 3 cột -

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

Loại bỏ các bản sao và hiển thị mục nhập cuối cùng. Sử dụng tham số keep, chúng tôi đã đặt "cuối cùng". Các hàng trùng lặp ngoại trừ mục nhập cuối cùng sẽ bị xóa. Chúng tôi đã xem xét một tập hợp con bằng cách sử dụng tham số “tập hợp con” -

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

Ví dụ

Sau đây là mã -

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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