9 студзеня адбыўся рэліз Pandas 1.0.0rc. Папярэдняя версія бібліятэкі - 0.25.
Першы мажорны рэліз утрымоўвае мноства выдатных новаўвядзенняў, у тым ліку палепшанае аўтаматычнае сумаванне датафрэймаў, больш фарматаў высновы, новыя тыпы дадзеных і нават новы сайт дакументацыі.
Усе змены можна паглядзець
Усталяваць бібліятэку можна як звычайна з дапамогай зярнятка, але паколькі на момант напісання артыкула Pandas 1.0 усё яшчэ кандыдат на вызваленне, спатрэбіцца відавочна пазначыць версію:
pip install --upgrade pandas==1.0.0rc0
Будзьце асцярожныя: бо рэліз мажорны, абнаўленне можа зламаць стары код!
Дарэчы, з гэтай версіі цалкам спынена падтрымка Python 2 (што можа стаць добрай нагодай
$ 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
Не менш прыемным новаўвядзеннем стала магчымасць экспартаваць датафрэймы ў табліцы Markdown з дапамогай DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Гэта моцна спрашчае публікацыю табліц на сайтах тыпу Medium з выкарыстаннем github gists.
Новыя тыпы для радкоў і лагічных значэнняў
У рэліз 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 адлюстроўвае новыя тыпы радок и бул.
Найбольш карыснай асаблівасцю новага радковага тыпу з'яўляецца магчыма выбару толькі калонак радкоў з датафрэймаў. Гэта можа значна спрасціць аналіз тэкставых дадзеных:
df.select_dtypes("string")
Раней калонкі радкоў нельга было выбіраць без відавочнага ўказання імёнаў.
Больш пра новыя тыпы можна пачытаць
Дзякуй, што дачыталі! Поўны спіс змен, як ужо згадвалася, можна паглядзець
Крыніца: habr.com