เดŽเดจเตเดคเดพเดฃเต เดชเดพเดฃเตเดŸเดธเต 1.0 เดžเด™เตเด™เตพเด•เตเด•เต เด•เตŠเดฃเตเดŸเตเดตเดจเตเดจเดคเต

เดŽเดจเตเดคเดพเดฃเต เดชเดพเดฃเตเดŸเดธเต 1.0 เดžเด™เตเด™เตพเด•เตเด•เต เด•เตŠเดฃเตเดŸเตเดตเดจเตเดจเดคเต

เดœเดจเตเดตเดฐเดฟ 9-เดจเต เดชเดพเดฃเตเดŸเดพเดธเต 1.0.0rc เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ. เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดฎเตเตป เดชเดคเดฟเดชเตเดชเต 0.25 เด†เดฃเต.

เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดกเดพเดฑเตเดฑเดพเดซเตเดฐเต†เดฏเดฟเด‚ เดธเด‚เด—เตเดฐเดนเด‚, เด•เต‚เดŸเตเดคเตฝ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด•เตพ, เดชเตเดคเดฟเดฏ เดกเดพเดฑเตเดฑ เดคเดฐเด™เตเด™เตพ, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดชเตเดคเดฟเดฏ เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเตป เดธเตˆเดฑเตเดฑเต เดŽเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเต†เดŸเต† เดจเดฟเดฐเดตเดงเดฟ เดฎเดฟเด•เดšเตเดš เดชเตเดคเดฟเดฏ เดซเต€เดšเตเดšเดฑเตเด•เตพ เด†เดฆเตเดฏ เดชเตเดฐเดงเดพเดจ เดชเดคเดฟเดชเตเดชเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดฒเตเดฒเดพ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ เด‡เดตเดฟเดŸเต†, เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดšเต†เดฑเดฟเดฏ, เด•เตเดฑเดžเตเดž เดธเดพเด™เตเด•เต‡เดคเดฟเด• เด…เดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเด‚.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดพเดงเดพเดฐเดฃ เดชเต‹เดฒเต† เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚ PIP, เดชเด•เตเดทเต‡ เดŽเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต เดชเดพเดฃเตเดŸเดธเต 1.0 เดจเดฟเดถเตเดšเดฒเดฎเดพเดฏเดคเดฟเดจเดพเตฝ เดฑเดฟเดฒเต€เดธเต เดธเตเดฅเดพเดจเดพเตผเดคเตเดฅเดฟ, เดจเดฟเด™เตเด™เตพ เดชเดคเดฟเดชเตเดชเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

pip install --upgrade pandas==1.0.0rc0

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เด‡เดคเตŠเดฐเต เดชเตเดฐเดงเดพเดจ เดฑเดฟเดฒเต€เดธเดพเดฏเดคเดฟเดจเดพเตฝ, เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดชเดดเดฏ เด•เต‹เดกเต เดคเด•เตผเดคเตเดคเต‡เด•เตเด•เดพเด‚!

เดตเดดเดฟเดฏเดฟเตฝ, เดˆ เดชเดคเดฟเดชเตเดชเดฟเดจเต เดถเต‡เดทเด‚ เดชเตˆเดคเตเดคเตบ 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

เดชเดพเดฃเตเดŸเดพเดธเต เดชเดคเดฟเดชเตเดชเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดŽเดณเตเดชเตเดชเดตเดดเดฟ เด‡เดคเดพเดฃเต:

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

เดฎเดพเตผเด•เตเด•เตเดกเต—เตบ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดชเดŸเตเดŸเดฟเด•เด•เตพ

เดฎเดพเตผเด•เตเด•เตเดกเต—เตบ เดŸเต‡เดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑเดพเดซเตเดฐเต†เดฏเดฟเดฎเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เตผเดŸเตเดŸเตเดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเดพเดฃเต เด’เดฐเตเดชเต‹เดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดชเตเดคเตเดฎ DataFrame.to_markdown.

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

Github gists เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเต€เดกเดฟเดฏเด‚ เดชเต‹เดฒเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เดชเดŸเตเดŸเดฟเด•เด•เตพ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดคเดพเดฃเต เดชเดพเดฃเตเดŸเดธเต 1.0 เดžเด™เตเด™เตพเด•เตเด•เต เด•เตŠเดฃเตเดŸเตเดตเดจเตเดจเดคเต

เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เตพเด•เตเด•เตเด‚ เดฌเต‚เดณเดฟเดฏเดจเตเด•เตพเด•เตเด•เตเด‚ เดชเตเดคเดฟเดฏ เดคเดฐเด™เตเด™เตพ

เดชเดพเดฃเตเดŸเดพเดธเต 1.0 เดชเดคเดฟเดชเตเดชเตเด‚ เดชเตเดคเดฟเดฏเดคเดพเดฏเดฟ เดšเต‡เตผเดคเตเดคเต เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด• เดคเดฐเด™เตเด™เตพ. เด…เดตเดฐเตเดŸเต† API เด‡เดชเตเดชเต‹เดดเตเด‚ เดฎเดพเดฑเดฟเดฏเต‡เด•เตเด•เดพเด‚, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เดœเดพเด—เตเดฐเดคเดฏเต‹เดŸเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เดŽเดจเตเดจเดพเตฝ เดชเตŠเดคเตเดตเต‡, เด…เตผเดคเตเดฅเดฎเตเดณเตเดณเดฟเดŸเดคเตเดคเต†เดฒเตเดฒเดพเด‚ เดชเตเดคเดฟเดฏ เดคเดฐเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดชเดพเดฃเตเดŸเดธเต เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด‡เดชเตเดชเต‹เตพ, เด…เดญเดฟเดจเต‡เดคเดพเด•เตเด•เดณเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

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

เดชเตเดคเดฟเดฏ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฐเดคเตเดคเดฟเตปเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดธเดตเดฟเดถเต‡เดทเดค เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเดพเดฃเต เดตเดฐเดฟ เดจเดฟเดฐเด•เตพ เดฎเดพเดคเตเดฐเด‚ เดกเดพเดฑเตเดฑ เดซเตเดฐเต†เดฏเดฟเดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต. เด‡เดคเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดกเดพเดฑเตเดฑ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเด‚:

df.select_dtypes("string")

เดฎเตเดฎเตเดชเต, เดชเต‡เดฐเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเดคเต† เดตเดฐเดฟ เดจเดฟเดฐเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

เดชเตเดคเดฟเดฏ เดคเดฐเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚ เด‡เดตเดฟเดŸเต†.

เดตเดพเดฏเดฟเดšเตเดšเดคเดฟเดจเต เดจเดจเตเดฆเดฟ! เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดชเต‹เดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดฎเตเดดเตเดตเตป เดชเดŸเตเดŸเดฟเด•เดฏเตเด‚ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ เด‡เดตเดฟเดŸเต†.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•