เบชเบดเปˆเบ‡เบ—เบตเปˆ 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

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบธเบเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบ dataframes เป„เบ›เบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Markdown เป‚เบ”เบเปƒเบŠเป‰ DataFrame.to_markdown.

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

เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบœเบตเบเปเบœเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป€เบŠเบฑเปˆเบ™ Medium เป‚เบ”เบเปƒเบŠเป‰ gists github.

เบชเบดเปˆเบ‡เบ—เบตเปˆ Pandas 1.0 เป„เบ”เป‰เบ™เปเบฒเป€เบญเบปเบฒเบžเบงเบเป€เบฎเบปเบฒ

เบ›เบฐเป€เบžเบ”เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฐเบ•เบฃเบดเบ‡ เปเบฅเบฐ เบšเบนเบฅเบตเบ™

เบเบฒเบ™เบ›เปˆเบญเบ Pandas 1.0 เบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเปƒเบซเบกเปˆ เบ—เบปเบ”เบฅเบญเบ‡ เบ›เบฐเป€เบžเบ”. API เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบญเบฒเบ”เบˆเบฐเบเบฑเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบปเปˆเบ‡เปƒเบŠเป‰เบกเบฑเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡. เปเบ•เปˆเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, Pandas เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เบ›เบฐเป€เบžเบ”เปƒเบซเบกเปˆเบ—เบธเบเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบ.

เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, cast เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบฎเบฑเบ”เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™:

>>> 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 เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เปƒเบซเบกเปˆ -โ€‹ string ะธ bool.

เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบชเบฒเบเปƒเบซเบกเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฅเบทเบญเบ เบ–เบฑเบ™เปเบ–เบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ เบˆเบฒเบ dataframes. เบญเบฑเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เปเบเบเบ‚เปเป‰เบกเบนเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบ:

df.select_dtypes("string")

เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ–เบฑเบ™เปเบ–เบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบฅเบทเบญเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบšเบธเบŠเบทเปˆเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเป€เบžเบ”เปƒเบซเบกเปˆ เบ—เบตเปˆเบ™เบตเป‰.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™! เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบ•เบฑเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบง, เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™