Какво ново донСсС Pandas 1.0

Какво ново донСсС Pandas 1.0

На 9 януари бСшС пусната вСрсия Pandas 1.0.0rc. ΠŸΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ 0.25.

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΌΠ°ΠΆΠΎΡ€Π΅Π½ Ρ€Π΅Π»ΠΈΠ· ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° мноТСство ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈ нововъвСдСния, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄, Π½ΠΎΠ²ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄ΠΎΡ€ΠΈ Π½ΠΎΠ² сайт Π·Π° докумСнтация.

Всички измСнСния ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ, Π² статията Ρ‰Π΅ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ Π΄ΠΎ ΠΊΡ€Π°Ρ‚ΡŠΠΊ, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ тСхничСски ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС инсталирана, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pip, Π½ΠΎ Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° написванС Π½Π° статията Pandas 1.0 всС ΠΎΡ‰Π΅ Π΅ release candidate, Ρ‰Π΅ трябва явно Π΄Π° посочитС вСрсията:

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

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 |

Π’ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ улСснява ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π½Π° сайтовС ΠΊΠ°Ρ‚ΠΎ Medium, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ github gists.

Какво ново донСсС 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()

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 ΠΏΠΎΠΊΠ°Π·Π²Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ β€” string ΠΈΒ bool.

Най-ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ‚Π° функция Π½Π° новия Ρ‚ΠΈΠΏ Π½ΠΈΠ·ΠΎΠ²Π΅ Π΅, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ само тСкстови ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ‚ DataFrame. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° улСсни Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° тСкстови Π΄Π°Π½Π½ΠΈ:

df.select_dtypes("string")

По-Ρ€Π°Π½ΠΎ тСкстовитС ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° сС ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚ Π±Π΅Π· явното ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π°.

ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π²ΠΈ, Ρ‡Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ…Ρ‚Π΅! ПълСн списък с ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ спомСнахмС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster