Anda dapat menggunakan print(actual_df.explain())== Physical Plan ==3, print(actual_df.explain())== Physical Plan ==4 loop, atau daftar pemahaman untuk menerapkan fungsi PySpark ke beberapa kolom dalam DataFrame Show
Menggunakan iterator untuk menerapkan operasi yang sama pada banyak kolom sangat penting untuk mempertahankan basis kode DRY Mari jelajahi berbagai cara untuk menggunakan huruf kecil semua kolom dalam DataFrame untuk mengilustrasikan konsep ini
Huruf kecil semua kolom dengan print(actual_df.explain())== Physical Plan ==*Project [lower(name#0) AS name#5, lower(eye_color#1) AS eye_color#9]+- Scan ExistingRDD[name#0,eye_color#1]3Mari impor fungsi print(actual_df.explain())== Physical Plan ==_3 dari print(actual_df.explain())== Physical Plan ==7 dan gunakan untuk huruf kecil semua kolom dalam DataFrame source_df = spark.createDataFrame( Rencana fisik yang dihasilkan oleh kode ini terlihat efisien print(actual_df.explain())== Physical Plan ==
Mari kita lihat bagaimana kita dapat mencapai hasil yang sama dengan print(actual_df.explain())== Physical Plan ==4 loop Huruf kecil semua kolom dengan loop forMari gunakan print(actual_df.explain())== Physical Plan ==_9 yang sama seperti sebelumnya dan bangun actual_df = source_df 0 dengan print(actual_df.explain())== Physical Plan ==4 loop actual_df = source_df _Kode ini agak jelek, tetapi Spark pintar dan menghasilkan rencana fisik yang sama print(actual_df.explain())== Physical Plan == Mari kita lihat bagaimana kita juga bisa menggunakan pemahaman daftar untuk menulis kode ini Huruf kecil semua kolom dengan pemahaman daftarMari gunakan print(actual_df.explain())== Physical Plan ==_9 yang sama seperti sebelumnya dan huruf kecil semua kolom dengan pemahaman daftar yang sangat disukai oleh Pythonistas jauh dan luas actual_df = source_df.select( Spark masih pintar dan menghasilkan rencana fisik yang sama print(actual_df.explain())== Physical Plan == Mari kita gabungkan dan lihat bagaimana solusi ini bekerja saat dijalankan di beberapa, tetapi tidak semua, kolom di DataFrame Melakukan operasi pada subset kolom DataFrameMari kita tentukan fungsi actual_df = source_df _3 yang menghapus semua tanda seru dan tanda tanya dari kolomdef remove_some_chars(col_name): Mari gunakan print(actual_df.explain())== Physical Plan ==3 untuk menerapkan fungsi actual_df = source_df 3 ke dua kolom di DataFrame barusource_df = spark.createDataFrame( Mari kita coba membangun actual_df = source_df _0 dengan loop print(actual_df.explain())== Physical Plan ==4 actual_df = source_df Loop print(actual_df.explain())== Physical Plan ==4 terlihat cukup bersih. Sekarang mari kita coba dengan pemahaman daftar source_df.select( Wow, pemahaman daftarnya sangat jelek untuk subset kolom 😿 print(actual_df.explain())== Physical Plan ==3, print(actual_df.explain())== Physical Plan ==4, dan pemahaman daftar semuanya menghasilkan rencana fisik yang sama seperti pada contoh sebelumnya, jadi setiap opsi memiliki performa yang sama saat dieksekusi print(actual_df.explain())== Physical Plan ==0 Pendekatan apa yang harus Anda gunakan?print(actual_df.explain())== Physical Plan ==4 loop tampaknya menghasilkan kode yang paling mudah dibaca. Pemahaman daftar dapat digunakan untuk operasi yang dilakukan pada semua kolom DataFrame, tetapi harus dihindari untuk operasi yang dilakukan pada subset kolom. Kode print(actual_df.explain())== Physical Plan ==3 juga cukup bersih, jadi itu juga merupakan alternatif yang layak Sebaiknya tulis fungsi yang beroperasi pada satu kolom dan bungkus iterator dalam transformasi DataFrame terpisah sehingga kode dapat dengan mudah diterapkan ke beberapa kolom Mari kita definisikan print(actual_df.explain())== Physical Plan ==_3 transformasi DataFrame yang menggunakan larik print(actual_df.explain())== Physical Plan ==4 sebagai argumen dan menerapkan actual_df = source_df 3 ke setiap print(actual_df.explain())== Physical Plan ==6 Bagaimana cara saya mengulang beberapa kolom?Ulangi Kolom DataFrame
. Anda dapat menggunakan label-kolom untuk menjalankan loop for di atas DataFrame panda menggunakan sintaks get item ([]). Hasil di bawah output. Fungsi values() digunakan untuk mengekstrak elemen objek sebagai daftar. using for loop. You can use column-labels to run the for loop over the pandas DataFrame using the get item syntax ([]) . Yields below output. The values() function is used to extract the object elements as a list.
Bagaimana cara menambahkan kolom ke DataFrame dengan Python dalam for loop?Langkah 1 - Impor perpustakaan. impor panda sebagai pd. . Langkah 2 - Siapkan Data. df=pd. DataFrame({'Tabel 9'. [9,18,27], 'Tabel 10'. [10,20,30]}). Langkah 3 - Menambahkan bingkai data dalam for loop. untuk saya dalam rentang (4,11). df=df. tambahkan({'Tabel 9'. i*9,'Tabel 10'. i*10},ignore_index=True). Langkah 4 - Mencetak hasil. cetak('df\n',df) Bagaimana cara menambahkan kolom ke loop di DataFrame?Menambahkan kolom baru sebenarnya diperlukan untuk memproses data dari kerangka data yang dibuat sebelumnya. Untuk itu, kita dapat mengolah data yang ada dan membuat kolom tersendiri untuk menyimpan data tersebut. Cara termudah untuk menambahkan kolom baru beserta datanya adalah dengan membuat kolom baru dan menetapkan nilai baru padanya .
Bagaimana Anda menambahkan kolom secara dinamis dengan Python?Buat Kolom Secara Dinamis di Pandas Dataframe . Normalisasi Rangkaian Waktu Berjendela. . Konversikan Semua Kolom Non-numerik ke Tipe Data Kategori. . Membuat Kolom Total Berjalan di Pandas. . Pivoting Bingkai Data Panda. . Mengganti Nama Kolom dalam Bingkai Data Pandas Menggunakan Kamus dan Daftar. . Cara Menghapus Tanda Baca Dari Teks dengan Python |