เชชเชพเช‚เชกเชพ 1.0 เช…เชฎเชจเซ‡ เชถเซเช‚ เชฒเชพเชตเซเชฏเชพ

เชชเชพเช‚เชกเชพ 1.0 เช…เชฎเชจเซ‡ เชถเซเช‚ เชฒเชพเชตเซเชฏเชพ

9 เชœเชพเชจเซเชฏเซเช†เชฐเซ€เชจเชพ เชฐเซ‹เชœ, Pandas 1.0.0rc เชฐเชฟเชฒเซ€เช เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชชเซเชธเซเชคเช•เชพเชฒเชฏเชจเซเช‚ เช…เช—เชพเช‰เชจเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ 0.25 เช›เซ‡.

เชชเซเชฐเชฅเชฎ เชฎเซเช–เซเชฏ เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚ เช˜เชฃเชพ เชฎเชนเชพเชจ เชจเชตเชพ เชฒเช•เซเชทเชฃเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‡เชฒ เชธเซเชตเชšเชพเชฒเชฟเชค เชกเซ‡เชŸเชพเชซเซเชฐเซ‡เชฎ เชธเชพเชฐเชพเช‚เชถ, เชตเชงเซ เช†เช‰เชŸเชชเซเชŸ เชซเซ‹เชฐเซเชฎเซ‡เชŸเซเชธ, เชจเชตเชพ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เช…เชจเซ‡ เชจเชตเซ€ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชธเชพเช‡เชŸ เชชเชฃ เชธเชพเชฎเซ‡เชฒ เช›เซ‡.

เชฌเชงเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡ เช…เชนเซ€เช‚, เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช†เชชเชฃเซ€ เชœเชพเชคเชจเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฌเชพเชฌเชคเซ‹เชจเซ€ เชจเชพเชจเซ€, เช“เช›เซ€ เชคเช•เชจเซ€เช•เซ€ เชธเชฎเซ€เช•เซเชทเชพ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€เชถเซเช‚.

เชคเชฎเซ‡ เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชซเชณเชจเซเช‚ เชจเชพเชจเซเช‚ เชฌเซ€เชœ, เชชเชฐเช‚เชคเซ เชชเชพเช‚เชกเชพ เชฒเช–เชตเชพเชจเชพ เชธเชฎเชฏเซ‡ 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

เชชเชพเช‚เชกเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชคเชชเชพเชธเชตเชพเชจเซ€ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชฐเซ€เชค เช† เช›เซ‡:

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

เช†เชจเชพเชฅเซ€ เช—เซ€เชฅเชฌ เชœเซ€เชธเซเชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเชพเชงเซเชฏเชฎ เชœเซ‡เชตเซ€ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชตเชงเซ เชธเชฐเชณ เชฌเชจเซ‡ เช›เซ‡.

เชชเชพเช‚เชกเชพ 1.0 เช…เชฎเชจเซ‡ เชถเซเช‚ เชฒเชพเชตเซเชฏเชพ

เชถเชฌเซเชฆเชฎเชพเชณเชพเช“ เช…เชจเซ‡ เชฌเซเชฒเชฟเชฏเชจ เชฎเชพเชŸเซ‡ เชจเชตเชพ เชชเซเชฐเช•เชพเชฐเซ‹

Pandas 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 เชจเชตเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ - เชถเชฌเซเชฆเชฎเชพเชณเชพ ะธ เชฌเซเชฒ.

เชจเชตเชพ เชถเชฌเซเชฆเชฎเชพเชณเชพ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชธเซŒเชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชฒเช•เซเชทเชฃ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช›เซ‡ เชฎเชพเชคเซเชฐ เชชเช‚เช•เซเชคเชฟ เช•เซ‰เชฒเชฎ เชกเซ‡เชŸเชพเชซเซเชฐเซ‡เชฎเชฎเชพเช‚เชฅเซ€. เช† เชŸเซ‡เช•เซเชธเซเชŸ เชกเซ‡เชŸเชพเชจเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช—เชจเซ‡ เชตเชงเซ เชธเชฐเชณ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡:

df.select_dtypes("string")

เชชเชนเซ‡เชฒเชพเช‚, เชชเช‚เช•เซเชคเชฟ เช•เซ‰เชฒเชฎ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡ เชจเชพเชฎเซ‹ เชฆเชฐเซเชถเชพเชตเซเชฏเชพ เชตเชฟเชจเชพ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เชพเชคเชพ เชจ เชนเชคเชพ.

เชคเชฎเซ‡ เชจเชตเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚.

เชตเชพเช‚เชšเชตเชพ เชฌเชฆเชฒ เช†เชญเชพเชฐ! เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‚เชšเชฟ, เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช›เซ‡, เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡ เช…เชนเซ€เช‚.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹