Để tính giá trị đầu tiên của nhóm, sử dụng phương thức groupby.first(). Trước tiên, nhập thư viện cần thiết với bí danh:
import pandas as pd;
Tạo DataFrame với 3 cột:
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'BMW', 'Tesla', 'Lexus', 'Tesla'],
"Place": ['Delhi','Bangalore','Pune','Punjab','Chandigarh','Mumbai'],
"Units": [100, 150, 50, 80, 110, 90]
}
)
Bây giờ, nhóm DataFrame theo một cột:
groupDF = dataFrame.groupby("Car")
Tính giá trị đầu tiên của nhóm và đặt lại chỉ mục:
res = groupDF.first() res = res.reset_index()
Ví dụ hoàn chỉnh
Mã nguồn đầy đủ:
import pandas as pd
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'BMW', 'Tesla', 'Lexus', 'Tesla'],
"Place": ['Delhi','Bangalore','Pune','Punjab','Chandigarh','Mumbai'],
"Units": [100, 150, 50, 80, 110, 90]
}
)
print("DataFrame ...\n", dataFrame)
# nhóm DataFrame theo cột Car
groupDF = dataFrame.groupby("Car")
res = groupDF.first()
res = res.reset_index()
print("\nGiá trị đầu tiên của nhóm = \n", res)
Kết quả
Chương trình sẽ tạo ra kết quả sau. Hiển thị lần xuất hiện đầu tiên của các giá trị trùng lặp, tức là giá trị đầu tiên của nhóm:
DataFrame ... Car Place Units 0 BMW Delhi 100 1 Lexus Bangalore 150 2 BMW Pune 50 3 Tesla Punjab 80 4 Lexus Chandigarh 110 5 Tesla Mumbai 90 First of group values = Car Place Units 0 BMW Delhi 100 1 Lexus Bangalore 150 2 Tesla Punjab 80