Modul library standar Python yang paling berguna yang selalu dilupakan setiap orang


Python memiliki banyak modul hebat di luar kotak. Salah satu yang paling berguna adalah koleksi . Ini berisi "jenis khusus untuk membuat wadah", yang merupakan alternatif dari dikte universal, daftar , set, dan tuple . Di bawah ini kita melihat tiga kelas yang terkandung dalam modul yang kebanyakan pythonists temui tetapi terus-menerus lupa untuk dipraktikkan.


NamedTuple


Sulit untuk melebih-lebihkan kegunaan tuple bernama untuk ilmuwan data. Katakanlah Anda sedang membuat model baru, terus-menerus menambahkan fitur baru ke daftar, yang kemudian berencana untuk memberi makan kerangka pembelajaran mesin. Dengan peningkatan jumlah karakteristik, cepat atau lambat Anda akan mulai bingung dan lupa indeks mana yang bertanggung jawab untuk apa. Lebih buruk lagi, jika rekan kerja harus bekerja dengan kode Anda: mereka mungkin tidak mengerti apa-apa sama sekali.


Hanya beberapa baris yang dapat mengatur skrip . Lihat:


from collections import namedtuple Features = namedtuple('Features', ['age', 'gender', 'name']) row = Features(age=22, gender='male', name='Alex') print(row.age) 

Sekarang, alih-alih menentukan indeks, Anda dapat menggunakan nama untuk mengakses item baris, yang membuat kode lebih bersih dan lebih sederhana.


Penghitung


Penghitung , sesuai namanya, diperhitungkan. Kedengarannya mudah, tetapi para ilmuwan data perlu terus menghitung , sehingga alat ini sangat berguna dalam praktik.


Ada beberapa cara untuk membuat penghitung, tetapi yang paling sederhana adalah menginisialisasi dengan daftar nilai:


 from collections import Counter ages = [22, 22, 25, 25, 30, 24, 26, 24, 35, 45, 52, 22, 22, 22, 25, 16, 11, 15, 40, 30] value_counts = Counter(ages) print(value_counts.most_common()) 

Menjalankan kode ini (yang, omong-omong, dapat dilakukan dengan mengirimkan potongan yang sesuai ke pythonanywhere.com/gists/ ), Anda akan melihat:


 [(22, 5), (25, 3), (24, 2), (30, 2), (35, 1), (40, 1), (11, 1), (45, 1), (15, 1), (16, 1), (52, 1), (26, 1)] 

Daftar tupel dalam urutan penurunan prevalensi nilai, di mana elemen pertama tuple adalah nilainya dan yang kedua adalah seberapa sering muncul dalam daftar asli. Beberapa baris kode ternyata cukup untuk mengetahui bahwa "22" adalah usia yang paling umum, dan itu terjadi 5 kali.


Defaultdict


Salah satu alat favorit saya di perpustakaan standar. DefaultDict - kamus dengan nilai default untuk setiap kunci baru. Contoh:


 from collections import defaultdict my_default_dict = defaultdict(int) for letter in 'the red fox ran as fast as it could': my_default_dict[letter] += 1 print(my_default_dict) 

Pengembalian:


 defaultdict(<type 'int'>, {'a': 4, ' ': 8, 'c': 1, 'e': 2, 'd': 2, 'f': 2, 'i': 1, 'h': 1, 'l': 1, 'o': 2, 'n': 1, 's': 3, 'r': 2, 'u': 1, 't': 3, 'x': 1}) 

Saat bekerja dengan kamus reguler, Anda harus selalu memeriksa apakah ada kunci dan menginisialisasi secara manual kunci yang tidak ada. Dalam contoh di atas, untuk setiap kunci yang tidak ada, sudah ada nilai default 0. Ini memungkinkan Anda untuk menulis pembersih kode dan lebih jelas .


Selain bilangan bulat, DefaultDict sering digunakan bersama dengan daftar kosong untuk mulai menambahkan item tanpa boilerplate.


Buka kode bersih!


Cobalah untuk mengingat apakah Anda dapat menerapkan kelas dari koleksi ke tugas yang baru saja Anda selesaikan. Kadang-kadang, "menemukan kembali" modul lama dari perpustakaan standar lebih berguna daripada menguasai alat baru.

Source: https://habr.com/ru/post/id478934/


All Articles