Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menambah Lajur Kaunter Berjujukan pada Bingkai Data Panda Berkumpulan dengan Cekap?
Tambah Lajur Kaunter Berjujukan pada Kumpulan pada Bingkai Data Pandas Tanpa Panggilan Balik
Dalam perpustakaan panda, seseorang boleh menggunakan kaedah yang lebih cekap daripada fungsi panggil balik untuk menambah lajur pembilang berjujukan pada bingkai data terkumpul. Fungsi cumcount() menyediakan pendekatan alternatif. Begini cara untuk melaksanakannya:
import pandas as pd df = pd.DataFrame( columns=" index c1 c2 v1 ".split(), data=[ [0, "A", "X", 3], [1, "A", "X", 5], [2, "A", "Y", 7], [3, "A", "Y", 1], [4, "B", "X", 3], [5, "B", "X", 1], [6, "B", "X", 3], [7, "B", "Y", 1], [8, "C", "X", 7], [9, "C", "Y", 4], [10, "C", "Y", 1], [11, "C", "Y", 6], ], ).set_index("index", drop=True) # Add a sequential counter column df["seq"] = df.groupby(["c1", "c2"]).cumcount() + 1 print(df)
Coretan kod ini mengumpulkan rangka data mengikut 'c1' dan 'c2', kemudian menggunakan fungsi cumcount() pada setiap kumpulan untuk mengira baris dalam kumpulan itu. Hasilnya ialah kerangka data dengan lajur 'seq' tambahan yang mengandungi kiraan berurutan untuk setiap kumpulan:
c1 c2 v1 seq 0 A X 3 1 1 A X 5 2 2 A Y 7 1 3 A Y 1 2 4 B X 3 1 5 B X 1 2 6 B X 3 3 7 B Y 1 1 8 C X 7 1 9 C Y 4 1 10 C Y 1 2 11 C Y 6 3
Pendekatan ini menghapuskan keperluan untuk fungsi panggil balik dan menyediakan penyelesaian yang lebih ringkas dan cekap untuk menambah lajur pembilang berjujukan kepada bingkai data panda yang dikumpulkan.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur Kaunter Berjujukan pada Bingkai Data Panda Berkumpulan dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!