Apa yang membawa kita Pandas 1.0


Pada 9 Januari, Pandas 1.0.0rc dirilis. Versi perpustakaan sebelumnya adalah 0.25.


Rilis besar pertama berisi banyak inovasi hebat, termasuk peningkatan rangkuman otomatis frame data, lebih banyak format output, tipe data baru, dan bahkan situs dokumentasi baru.


Semua perubahan dapat dilihat di sini , dalam artikel kami akan membatasi diri pada ulasan kecil, kurang teknis tentang hal yang paling penting.


Anda dapat menginstal perpustakaan seperti biasa menggunakan pip , tetapi karena pada saat penulisan Pandas 1.0 masih merupakan kandidat rilis , Anda harus secara eksplisit menentukan versi:


pip install --upgrade pandas==1.0.0rc0 

Berhati-hatilah: karena rilisnya utama, pembaruan dapat merusak kode lama!


Ngomong-ngomong, dukungan untuk Python 2 telah sepenuhnya dihentikan dari versi ini ( yang mungkin menjadi alasan yang baik untuk memutakhirkan - kira-kira Terjemahan. ). Pandas 1.0 membutuhkan setidaknya Python 3.6+, jadi jika Anda tidak yakin, periksa mana yang telah Anda instal:


 $ pip --version pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) $ python --version Python 3.7.5 

Cara termudah untuk memeriksa versi Pandas adalah:


 >>> import pandas as pd >>> pd.__version__ 1.0.0rc0 

Ringkasan-otomatis yang ditingkatkan dengan DataFrame.info


Inovasi favorit saya adalah pembaruan metode DataFrame.info . Fungsi ini menjadi lebih mudah dibaca, yang membuat proses penelitian data lebih mudah:


 >>> df = pd.DataFrame({ ...: 'A': [1,2,3], ...: 'B': ["goodbye", "cruel", "world"], ...: 'C': [False, True, False] ...:}) >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null object 2 C 3 non-null object dtypes: int64(1), object(2) memory usage: 200.0+ bytes 

Output tabel dalam format Penurunan harga


Inovasi yang sama menyenangkannya adalah kemampuan untuk mengekspor frame data ke tabel Markdown menggunakan DataFrame.to_markdown .


 >>> df.to_markdown() | | A | B | C | |---:|----:|:--------|:------| | 0 | 1 | goodbye | False | | 1 | 2 | cruel | True | | 2 | 3 | world | False | 

Ini sangat menyederhanakan penerbitan tabel di situs-situs seperti Medium menggunakan github gists.



Jenis baru untuk string dan boolean


Pandas 1.0 juga menambahkan tipe eksperimental baru. API mereka dapat berubah, jadi gunakan dengan hati-hati. Tetapi secara umum, Pandas merekomendasikan penggunaan jenis baru di mana pun masuk akal.


Sejauh ini, para pemeran perlu dilakukan secara eksplisit:


 >>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string") >>> C = pd.Series([False, True, False], dtype="bool") >>> df.B = B, df.C = C >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null string 2 C 3 non-null bool dtypes: int64(1), object(1), string(1) memory usage: 200.0+ bytes 

Perhatikan bagaimana kolom Dtype menampilkan tipe baru - string dan bool .


Fitur yang paling berguna dari tipe string baru adalah memungkinkan untuk memilih hanya kolom baris dari bingkai data. Ini dapat sangat menyederhanakan analisis data teks:


 df.select_dtypes("string") 

Sebelumnya, kolom baris tidak dapat dipilih tanpa menyebutkan nama secara eksplisit.


Lebih lanjut tentang tipe baru dapat ditemukan di sini .




Terima kasih sudah membaca! Daftar lengkap perubahan, sebagaimana telah disebutkan, dapat dilihat di sini .

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


All Articles