Шта нам је донела Панда 1.0

Шта нам је донела Панда 1.0

9. јануара изашао је Пандас 1.0.0рц. Претходна верзија библиотеке је 0.25.

Прво велико издање садржи многе сјајне нове функције, укључујући побољшано аутоматско сумирање оквира података, више излазних формата, нове типове података, па чак и нову локацију за документацију.

Све промене се могу видети овде, у чланку ћемо се ограничити на мали, мање технички преглед најважнијих ствари.

Библиотеку можете инсталирати као и обично користећи бод, али пошто је у време писања Пандас 1.0 још увек Релеасе Цандидате, мораћете експлицитно да наведете верзију:

pip install --upgrade pandas==1.0.0rc0

Будите опрезни: пошто је ово велико издање, ажурирање може покварити стари код!

Иначе, подршка за Питхон 2 је потпуно укинута од ове верзије (шта би могао бити добар разлог ажурирање — прибл. превод). Пандас 1.0 захтева најмање Питхон 3.6+, па ако нисте сигурни, проверите који сте инсталирали:

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

$ python --version
Python 3.7.5

Најлакши начин да проверите Пандас верзију је овај:

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

Побољшано аутоматско сумирање са ДатаФраме.инфо

Моја омиљена иновација је била ажурирање методе ДатаФраме.инфо. Функција је постала много читљивија, чинећи процес истраживања података још лакшим:

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

Излаз табела у Маркдовн формату

Једнако пријатна иновација је могућност извоза оквира података у Маркдовн табеле помоћу ДатаФраме.то_маркдовн.

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

Ово знатно олакшава објављивање табела на сајтовима као што је Медиум користећи гитхуб гистс.

Шта нам је донела Панда 1.0

Нови типови за стрингове и логичке вредности

Пандас 1.0 издање је такође додало ново експериментални врсте. Њихов АПИ се и даље може променити, па га користите опрезно. Али генерално, Пандас препоручује коришћење нових типова где год то има смисла.

За сада, глумачка улога треба да се уради експлицитно:

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

Обратите пажњу на то како колона Дтипе приказује нове типове − низ и боол.

Најкориснија карактеристика новог типа стринга је могућност избора само колоне редова из оквира података. Ово може знатно олакшати рашчлањивање текстуалних података:

df.select_dtypes("string")

Раније се колоне реда нису могле изабрати без експлицитног навођења имена.

Можете прочитати више о новим типовима овде.

Хвала вам за читање! Потпуну листу промена, као што је већ поменуто, можете погледати овде.

Извор: ввв.хабр.цом

Додај коментар