แžขแŸ’แžœแžธแžŠแŸ‚แž› Pandas 1.0 แž”แžถแž“แž“แžถแŸ†แž˜แž€แž™แžพแž„

แžขแŸ’แžœแžธแžŠแŸ‚แž› Pandas 1.0 แž”แžถแž“แž“แžถแŸ†แž˜แž€แž™แžพแž„

แž“แŸ…แžแŸ’แž„แŸƒแž‘แžธ 9 แžแŸ‚แž˜แž€แžšแžถ Pandas 1.0.0rc แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แŸ” แž€แŸ†แžŽแŸ‚แž˜แžปแž“แž“แŸƒแž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‚แžบ 0.25 แŸ”

แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŠแŸแž’แŸ†แžŠแŸ†แž”แžผแž„แž”แž„แŸ’แžขแžŸแŸ‹แž˜แžถแž“แž›แž€แŸ’แžแžŽแŸˆแž–แžทแžŸแŸแžŸแžแŸ’แž˜แžธแžŠแŸแžขแžŸแŸ’แž…แžถแžšแŸ’แž™แž‡แžถแž…แŸ’แžšแžพแž“ แžšแžฝแž˜แž‘แžถแŸ†แž„แž€แžถแžšแž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแž€แžถแžšแžŸแž„แŸ’แžแŸแž”แž“แŸƒแžŸแŸŠแžปแž˜แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžท แž‘แŸ’แžšแž„แŸ‹แž‘แŸ’แžšแžถแž™แž›แž‘แŸ’แž’แž•แž›แž…แŸ’แžšแžพแž“แž‘แŸ€แž แž”แŸ’แžšแž—แŸแž‘แž‘แžทแž“แŸ’แž“แž“แŸแž™แžแŸ’แž˜แžธ แž“แžทแž„แžŸแžผแž˜แŸ’แž”แžธแžแŸ‚แž‚แŸแž แž‘แŸ†แž–แŸแžšแžฏแž€แžŸแžถแžšแžแŸ’แž˜แžธแŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แžถแŸ†แž„แžขแžŸแŸ‹แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž˜แžพแž› แž“แŸ…แž‘แžธแž“แŸแŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„แžขแžแŸ’แžแž”แž‘ แž™แžพแž„แž“แžนแž„แžŠแžถแž€แŸ‹แž€แž˜แŸ’แžšแžทแžแžแŸ’แž›แžฝแž“แž™แžพแž„แž‘แŸ…แž“แžนแž„แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸแžแžทแž…แžแžฝแž… แžขแŸ†แž–แžธแžขแŸ’แžœแžธแžŠแŸ‚แž›แžŸแŸ†แžแžถแž“แŸ‹แž”แŸ†แž•แžปแžแŸ”

แžขแŸ’แž“แž€แžขแžถแž…แžŠแŸ†แžกแžพแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‡แžถแž’แž˜แŸ’แž˜แžแžถแžŠแŸ„แž™แž”แŸ’แžšแžพ PIPแž”แŸ‰แžปแž“แŸ’แžแŸ‚แž…แžถแž”แŸ‹แžแžถแŸ†แž„แž–แžธแž–แŸแž›แž“แŸƒแž€แžถแžšแžŸแžšแžŸแŸแžš 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

แž€แžถแžšแž…แŸ’แž“แŸƒแž”แŸ’แžšแžŒแžทแžแžŠแŸแžšแžธแž€แžšแžถแž™แžŠแžผแž…แž‚แŸ’แž“แžถแž‚แžบแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž“แžถแŸ†แž…แŸแž‰แžŸแŸŠแžปแž˜แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‘แŸ…แž€แžถแž“แŸ‹แžแžถแžšแžถแž„ 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()
<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 แŸ”.

แž˜แžปแžแž„แžถแžšแžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแž™แŸ„แž‡แž“แŸแž”แŸ†แž•แžปแžแž“แŸƒแž”แŸ’แžšแž—แŸแž‘แžแŸ’แžŸแŸ‚แžขแž€แŸ’แžŸแžšแžแŸ’แž˜แžธแž‚แžบแž—แžถแž–แžขแžถแž…แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž”แžถแž“แŸ” แžแŸ‚โ€‹แž‡แžฝแžšโ€‹แžˆแžšโ€‹ แž–แžธ dataframes แŸ” แžœแžถแžขแžถแž…แž’แŸ’แžœแžพแžฑแŸ’แž™แž€แžถแžšแžœแžทแž—แžถแž‚แž‘แžทแž“แŸ’แž“แž“แŸแž™แžขแžแŸ’แžแž”แž‘แž€แžถแž“แŸ‹แžแŸ‚แž„แžถแž™แžŸแŸ’แžšแžฝแž›แŸ–

df.select_dtypes("string")

แž–แžธแž˜แžปแž“ แž‡แžฝแžšโ€‹แžˆแžšโ€‹แž‡แžฝแžšโ€‹แžŠแŸแž€โ€‹แž˜แžทแž“โ€‹แžขแžถแž…โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž‡แŸ’แžšแžพแžŸโ€‹แžŠแŸ„แž™โ€‹แž˜แžทแž“โ€‹แž”แž‰แŸ’แž‡แžถแž€แŸ‹โ€‹แžˆแŸ’แž˜แŸ„แŸ‡โ€‹แžฑแŸ’แž™โ€‹แž…แŸ’แž”แžถแžŸแŸ‹โ€‹แž›แžถแžŸแŸ‹โ€‹แž‘แŸแŸ”

แžขแŸ’แž“แž€แžขแžถแž…แžขแžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžขแŸ†แž–แžธแž”แŸ’แžšแž—แŸแž‘แžแŸ’แž˜แžธแŸ” แž“แŸ…แž‘แžธแž“แŸแŸ‡.

แžŸแžผแž˜แžขแžšแž‚แžปแžŽแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžขแžถแž“! แž”แž‰แŸ’แž‡แžธแž–แŸแž‰แž›แŸแž‰แž“แŸƒแž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš แžŠแžผแž…แžŠแŸ‚แž›แž”แžถแž“แžšแŸ€แž”แžšแžถแž”แŸ‹แžšแžฝแž…แž แžพแž™ แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž˜แžพแž› แž“แŸ…แž‘แžธแž“แŸแŸ‡.

แž”แŸ’แžšแž—แž–: www.habr.com

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹