Perilaku iterasi dasar pada objek Panda tergantung pada jenisnya. Saat melakukan iterasi pada suatu Seri, ini dianggap seperti array, dan iterasi dasar menghasilkan nilai. Struktur data lainnya, seperti DataFrame dan Panel, mengikuti konvensi seperti dict untuk mengulangi kunci objek Show
Singkatnya, iterasi dasar (untuk i dalam objek) menghasilkan −
Iterasi DataFrameIterasi DataFrame memberikan nama kolom. Mari kita perhatikan contoh berikut untuk memahami hal yang sama import pandas as pd import numpy as np N=20 df = pd.DataFrame({ 'A': pd.date_range(start='2016-01-01',periods=N,freq='D'), 'x': np.linspace(0,stop=N-1,num=N), 'y': np.random.rand(N), 'C': np.random.choice(['Low','Medium','High'],N).tolist(), 'D': np.random.normal(100, 10, size=(N)).tolist() }) for col in df: print col Outputnya adalah sebagai berikut − A C D x y_ Untuk mengulangi baris DataFrame, kita dapat menggunakan fungsi berikut −
iteritems()Ulangi setiap kolom sebagai kunci, pasangan nilai dengan label sebagai kunci dan nilai kolom sebagai objek Seri import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns=['col1','col2','col3']) for key,value in df.iteritems(): print key,value Outputnya adalah sebagai berikut − col1 0 0.802390 1 0.324060 2 0.256811 3 0.839186 Name: col1, dtype: float64 col2 0 1.624313 1 -1.033582 2 1.796663 3 1.856277 Name: col2, dtype: float64 col3 0 -0.022142 1 -0.230820 2 1.160691 3 -0.830279 Name: col3, dtype: float64 Perhatikan, setiap kolom diulang secara terpisah sebagai pasangan nilai kunci dalam sebuah Seri iterrows()iterrows() mengembalikan iterator yang menghasilkan setiap nilai indeks bersama dengan rangkaian yang berisi data di setiap baris import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3']) for row_index,row in df.iterrows(): print row_index,row_ Outputnya adalah sebagai berikut − 0 col1 1.529759 col2 0.762811 col3 -0.634691 Name: 0, dtype: float64 1 col1 -0.944087 col2 1.420919 col3 -0.507895 Name: 1, dtype: float64 2 col1 -0.077287 col2 -0.858556 col3 -0.663385 Name: 2, dtype: float64 3 col1 -1.638578 col2 0.059866 col3 0.493482 Name: 3, dtype: float64 Catatan - Karena iterrows() mengulangi baris, itu tidak mempertahankan tipe data di seluruh baris. 0,1,2 adalah indeks baris dan col1,col2,col3 adalah indeks kolom itertuples()metode itertuples() akan mengembalikan iterator yang menghasilkan tuple bernama untuk setiap baris dalam DataFrame. Elemen pertama tuple akan menjadi nilai indeks baris yang sesuai, sedangkan nilai sisanya adalah nilai baris import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3']) for row in df.itertuples(): print row_ Outputnya adalah sebagai berikut − Pandas(Index=0, col1=1.5297586201375899, col2=0.76281127433814944, col3=- 0.6346908238310438) Pandas(Index=1, col1=-0.94408735763808649, col2=1.4209186418359423, col3=- 0.50789517967096232) Pandas(Index=2, col1=-0.07728664756791935, col2=-0.85855574139699076, col3=- 0.6633852507207626) Pandas(Index=3, col1=0.65734942534106289, col2=-0.95057710432604969, col3=0.80344487462316527) Catatan - Jangan mencoba memodifikasi objek apa pun saat melakukan iterasi. Iterasi dimaksudkan untuk membaca dan iterator mengembalikan salinan objek asli (tampilan), sehingga perubahan tidak akan tercermin pada objek asli Catatan. Dokumen Pandas menyatakan bahwa “Anda tidak boleh memodifikasi sesuatu yang Anda ulangi. Ini tidak dijamin untuk bekerja dalam semua kasus. Bergantung pada tipe datanya, iterator mengembalikan salinan dan bukan tampilan, dan menulis ke sana tidak akan berpengaruh. ” 2. Menggunakan Data Frame. itertuples() untuk Iterate Over RowsPandas _3 adalah metode yang paling sering digunakan untuk mengulang baris karena mengembalikan semua elemen DataFrame sebagai iterator yang berisi tuple untuk setiap baris. _3 lebih cepat dibandingkan dengan 2 dan mempertahankan tipe dataDi bawah ini adalah sintaks dari _3
Contoh di bawah ini mengulang semua elemen dalam sebuah tuple dan mendapatkan nilai dari setiap kolom dengan menggunakan 0
Hasil di bawah output _Mari berikan nama khusus ke tuple
Hasil di bawah output _0Jika Anda menyetel parameter indeks ke 1, ini akan menghapus indeks sebagai elemen pertama tuple4. Bingkai Data. apply() ke IterasiAnda juga dapat menggunakan metode _2 dari DataFrame untuk mengulang baris dengan menggunakan fungsi lambda. Untuk detail lebih lanjut, lihat DataFrame. menerapkan() _1Contoh _2Hasil di bawah output _35. Iterasi menggunakan for dan DataFrame. indeksAnda juga dapat mengulang baris dengan menggunakan for loop. 3 mengembalikan nilai baris pertama dari kolom 7 _4Hasil di bawah output _56. Menggunakan untuk dan DataFrame. lokasi _6Menghasilkan output yang sama seperti di atas 7. Menggunakan For dan DataFrame. iloc _7Hasil di bawah output _88. Menggunakan Data Frame. items() untuk Iterate Over ColumnsBingkai Data. items() digunakan untuk mengulang kolom (kolom demi kolom) panda DataFrame. Ini mengembalikan tuple (nama kolom, Seri) dengan nama dan konten sebagai Seri Nilai pertama dalam tupel yang dikembalikan berisi nama label kolom dan yang kedua berisi konten/data DataFrame sebagai rangkaian _9Hasil di bawah output _09. Performa Pengulangan DataFrameIterasi DataFrame tidak disarankan atau disarankan untuk digunakan karena kinerjanya akan sangat buruk saat melakukan iterasi pada kumpulan data besar. Pastikan Anda menggunakan ini hanya ketika Anda kehabisan semua opsi lainnya. Sebelum menggunakan contoh yang disebutkan dalam artikel ini, periksa apakah Anda dapat menggunakan salah satu dari 1) Vektorisasi, 2) Rutinitas Cython, 3) Daftar Pemahaman (vanilla 5 loop)10. Contoh Lengkap panda Iterate over Rows _1KesimpulanDataFrame menyediakan beberapa metode untuk mengulangi baris (loop demi baris) dan mengakses kolom/sel. Tetapi tidak disarankan untuk mengulang baris secara manual karena menurunkan kinerja aplikasi saat digunakan pada kumpulan data besar. Setiap contoh yang dijelaskan dalam artikel ini berperilaku berbeda, jadi bergantung pada kasus penggunaan Anda, gunakan yang sesuai dengan kebutuhan Anda Bagaimana cara mengulang melalui panda DataFrame dengan Python?Untuk mengulang baris, kami menerapkan fungsi itertuples() fungsi ini mengembalikan tuple untuk setiap baris dalam DataFrame. Elemen pertama tuple akan menjadi nilai indeks baris yang sesuai, sedangkan nilai sisanya adalah nilai baris.
Bisakah kita mengulangi panda DataFrame?DataFrame. metode iterrows() digunakan untuk mengulangi baris DataFrame sebagai pasangan (indeks, Seri) . Perhatikan bahwa metode ini tidak mempertahankan dtypes lintas baris karena metode ini akan mengubah setiap baris menjadi Seri.
Bagaimana cara mengulangi seluruh DataFrame dengan Python?Itertuples() adalah fungsi bawaan Panda untuk melakukan iterasi melalui bingkai data Anda. Itertuples() membuat jumlah panggilan fungsi yang relatif lebih sedikit daripada iterrows() dan membawa overhead yang jauh lebih sedikit. Itertuples() melakukan iterasi melalui bingkai data dengan mengonversi setiap baris data sebagai daftar tupel.
Bagaimana Anda mengulangi tindakan dalam DataFrame panda?iterrows() Metode pertama untuk mengulang DataFrame adalah dengan menggunakan Pandas. iterrows() , yang mengulang DataFrame menggunakan pasangan baris indeks |