Pandas 1.0 bizə nə gətirdi

Pandas 1.0 bizə nə gətirdi

Yanvarın 9-da Pandas 1.0.0rc buraxıldı. Kitabxananın əvvəlki versiyası 0.25-dir.

İlk böyük buraxılış təkmilləşdirilmiş avtomatik məlumat çərçivəsinin ümumiləşdirilməsi, daha çox çıxış formatları, yeni məlumat növləri və hətta yeni sənədləşmə saytı da daxil olmaqla bir çox möhtəşəm yeni funksiyaları ehtiva edir.

Bütün dəyişikliklərə baxmaq olar burada, məqalədə özümüzü ən vacib şeylərə kiçik, daha az texniki baxışla məhdudlaşdıracağıq.

Kitabxananı həmişəki kimi istifadə edərək quraşdıra bilərsiniz çəyirdək, lakin Pandas 1.0 yazılan zaman hələ də namizədi buraxın, versiyanı açıq şəkildə göstərməlisiniz:

pip install --upgrade pandas==1.0.0rc0

Ehtiyatlı olun: bu, əsas buraxılış olduğundan, yeniləmə köhnə kodu poza bilər!

Yeri gəlmişkən, bu versiyadan bəri Python 2 üçün dəstək tamamilə dayandırılıb (yaxşı səbəb nə ola bilər yeniləmə - təqribən. tərcümə). Pandas 1.0 ən azı Python 3.6+ tələb edir, buna görə də əmin deyilsinizsə, hansını quraşdırdığınızı yoxlayın:

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

$ python --version
Python 3.7.5

Pandas versiyasını yoxlamağın ən asan yolu budur:

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

DataFrame.info ilə təkmilləşdirilmiş avtomatik yekunlaşdırma

Ən çox bəyəndiyim yenilik metodun yenilənməsi oldu DataFrame.info. Funksiya daha oxunaqlı hala gəldi və məlumatların araşdırılması prosesini daha da asanlaşdırdı:

>>> 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

Markdown formatında cədvəllərin çıxarılması

Eyni dərəcədə xoş bir yenilik, verilənlər bazalarını Markdown cədvəllərinə ixrac etmək imkanıdır DataFrame.to_markdown.

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

Bu, github gists istifadə edərək Medium kimi saytlarda cədvəllər dərc etməyi çox asanlaşdırır.

Pandas 1.0 bizə nə gətirdi

Simlər və booleanlar üçün yeni növlər

Pandas 1.0 buraxılışı da yeni əlavə edildi eksperimental növləri. Onların API hələ də dəyişə bilər, ona görə də ehtiyatla istifadə edin. Amma ümumilikdə Pandalar məntiqli olduğu yerdə yeni növlərdən istifadə etməyi tövsiyə edir.

Hələlik, çəkiliş açıq şəkildə aparılmalıdır:

>>> 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

Sütunun necə olduğuna diqqət yetirin Dtipi yeni növləri göstərir − sim и bool.

Yeni sətir tipinin ən faydalı xüsusiyyəti seçmək imkanıdır yalnız sıra sütunları dataframelərdən. Bu, mətn məlumatlarının təhlilini çox asanlaşdıra bilər:

df.select_dtypes("string")

Əvvəllər sətir sütunları adlar açıq şəkildə göstərilmədən seçilə bilməzdi.

Yeni növlər haqqında daha çox oxuya bilərsiniz burada.

Oxuduğunuz üçün təşəkkür edirik! Dəyişikliklərin tam siyahısı, artıq qeyd edildiyi kimi, baxıla bilər burada.

Mənbə: www.habr.com

Добавить комментарий