Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menghimpunkan Nilai Berturut-turut dalam Lajur Pandas DataFrame?
Mengumpulkan Nilai Berturut-turut dalam Pandas DataFrame
Soalan ini mencari penyelesaian untuk mengumpulkan nilai berturut-turut dalam lajur DataFrame. Pertimbangkan DataFrame berikut dengan lajur 'a':
a 0 1 1 1 2 -1 3 1 4 -1 5 -1
Matlamatnya adalah untuk mengumpulkan nilai ini ke dalam subsenarai yang mewakili jujukan berturut-turut, seperti ditunjukkan di bawah:
[1, 1] [-1] [1] [-1, -1]
Penyelesaian Menggunakan Siri Tersuai
Untuk mencapai matlamat ini, kami boleh memanfaatkan Siri tersuai untuk mengenal pasti berturut-turut pecah nilai. Kod berikut menunjukkan pendekatan ini:
df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]}) print(df) # Create a series that identifies consecutive value breaks breaks = df['a'].ne(df['a'].shift()).cumsum() print(breaks) # Group the DataFrame by the breaks series for i, g in df.groupby(breaks): print(i) print(g) print(g.a.tolist())
Output menunjukkan kumpulan nilai berturut-turut seperti yang diperlukan:
1 a 0 1 1 1 [1, 1] 2 a 2 -1 [-1] 3 a 3 1 [1] 4 a 4 -1 5 -1 [-1, -1]
Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Nilai Berturut-turut dalam Lajur Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!