Pandas 1.0 бизге эмне алып келди

Pandas 1.0 бизге эмне алып келди

9-январда Pandas 1.0.0rc чыгарылды. Китепкананын мурунку версиясы 0.25.

Биринчи негизги релиз көптөгөн сонун жаңы функцияларды камтыйт, анын ичинде жакшыртылган автоматтык маалымат фрейминин жалпылоосу, көбүрөөк чыгаруу форматтары, жаңы маалымат түрлөрү, жада калса жаңы документация сайты.

Бардык өзгөртүүлөрдү көрүүгө болот бул жерде, макалада биз эң маанилүү нерселерди кичинекей, азыраак техникалык кароо менен чектелебиз.

Сиз китепкананы кадимкидей эле орното аласыз Жооп жазуу, бирок Pandas 1.0 жазуу учурунда дагы эле талапкерди бошотуу, сиз версияны так көрсөтүшүңүз керек:

pip install --upgrade pandas==1.0.0rc0

Абайлаңыз: бул негизги релиз болгондуктан, жаңыртуу эски кодду бузушу мүмкүн!

Айтмакчы, бул версиядан бери Python 2ди колдоо толугу менен токтотулган (жакшы себеп эмне болушу мүмкүн жаңыртуу — болжол менен. которуу). Pandas 1.0 жок дегенде Python 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

Pandas версиясын текшерүүнүн эң оңой жолу бул:

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

DataFrame.info менен жакшыртылган авто жыйынтыктоо

Менин сүйүктүү инновациям методдун жаңыланышы болду DataFrame.info. Функция кыйла окула турган болуп калды, бул маалыматтарды изилдөө процессин дагы да жеңилдетти:

>>> 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 форматында чыгаруу

Ушундай эле жагымдуу инновация – бул Dataframeлерди Markdown таблицаларына экспорттоо мүмкүнчүлүгү DataFrame.to_markdown.

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

Бул github gists аркылуу Medium сыяктуу сайттарда таблицаларды жарыялоону бир топ жеңилдетет.

Pandas 1.0 бизге эмне алып келди

Саптар жана логикалык жаңы типтер

Pandas 1.0 релизине дагы жаңылар кошулду эксперименталдык түрлөрү. Алардын API дагы деле өзгөрүшү мүмкүн, андыктан аны этияттык менен колдонуңуз. Бирок, жалпысынан алганда, Pandas мааниси бар жерде жаңы түрлөрүн колдонууну сунуш кылат.

Азырынча, актер так аткарылышы керек:

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

Колоннага көңүл буруңуз Dtype жаңы түрлөрүн көрсөтөт - аркан и Bool.

Жаңы сап түрүнүн эң пайдалуу өзгөчөлүгү - тандоо мүмкүнчүлүгү сап мамычалар гана dataframeлардан. Бул текст маалыматтарын талдоону бир топ жеңилдетет:

df.select_dtypes("string")

Мурда сап мамычалар аталыштары так көрсөтүлбөсө тандалмак эмес.

Сиз жаңы түрлөрү жөнүндө көбүрөөк окуй аласыз бул жерде.

окуганыңыз үчүн рахмат! Өзгөртүүлөрдүн толук тизмеси, буга чейин айтылгандай, көрүүгө болот бул жерде.

Source: www.habr.com

Комментарий кошуу