ืžื” Pandas 1.0 ื”ื‘ื™ืื” ืœื ื•

ืžื” Pandas 1.0 ื”ื‘ื™ืื” ืœื ื•

ื‘-9 ื‘ื™ื ื•ืืจ ื™ืฆื Pandas 1.0.0rc. ื”ื’ืจืกื” ื”ืงื•ื“ืžืช ืฉืœ ื”ืกืคืจื™ื™ื” ื”ื™ื 0.25.

ื”ืžื”ื“ื•ืจื” ื”ื’ื“ื•ืœื” ื”ืจืืฉื•ื ื” ืžื›ื™ืœื” ื”ืจื‘ื” ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื•ืžืขื•ืœื•ืช, ื›ื•ืœืœ ืกื™ื›ื•ื ืžืฉื•ืคืจ ืฉืœ ืžืกื’ืจื•ืช ื ืชื•ื ื™ื, ืคื•ืจืžื˜ื™ื ื ื•ืกืคื™ื ืฉืœ ืคืœื˜, ืกื•ื’ื™ ื ืชื•ื ื™ื ื—ื“ืฉื™ื ื•ืืคื™ืœื• ืืชืจ ืชื™ืขื•ื“ ื—ื“ืฉ.

ื ื™ืชืŸ ืœืจืื•ืช ืืช ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ื›ืืŸ, ื‘ืžืืžืจ ื ื’ื‘ื™ืœ ืืช ืขืฆืžื ื• ืœืกืงื™ืจื” ืงื˜ื ื” ื•ืคื—ื•ืช ื˜ื›ื ื™ืช ืฉืœ ื”ื“ื‘ืจื™ื ื”ื—ืฉื•ื‘ื™ื ื‘ื™ื•ืชืจ.

ืืชื” ื™ื›ื•ืœ ืœื”ืชืงื™ืŸ ืืช ื”ืกืคืจื™ื™ื” ื›ืจื’ื™ืœ ื‘ืืžืฆืขื•ืช ืคึฐึผืขึดื™ื, ืื‘ืœ ืžืื– ื‘ื–ืžืŸ ื”ื›ืชื™ื‘ื” 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

ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื‘ื“ื•ืง ืืช ื’ืจืกืช ื”ืคื ื“ื•ืช ื”ื™ื ื–ื•:

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

ืžื” 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.

ื”ืชื›ื•ื ื” ื”ืฉื™ืžื•ืฉื™ืช ื‘ื™ื•ืชืจ ื‘ืกื•ื’ ื”ืžื—ืจื•ื–ืช ื”ื—ื“ืฉื” ื”ื™ื ื”ื™ื›ื•ืœืช ืœื‘ื—ื•ืจ ืจืง ืขืžื•ื“ื•ืช ืฉื•ืจื” ืžืžืกื’ืจื•ืช ื ืชื•ื ื™ื. ื–ื” ื™ื›ื•ืœ ืœื”ืงืœ ื‘ื”ืจื‘ื” ืขืœ ื ื™ืชื•ื— ื ืชื•ื ื™ ื˜ืงืกื˜:

df.select_dtypes("string")

ื‘ืขื‘ืจ, ืœื ื ื™ืชืŸ ื”ื™ื” ืœื‘ื—ื•ืจ ืขืžื•ื“ื•ืช ืฉื•ืจื•ืช ืœืœื ืฆื™ื•ืŸ ืžืคื•ืจืฉ ืฉืœ ืฉืžื•ืช.

ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืขื•ื“ ืขืœ ืกื•ื’ื™ื ื—ื“ืฉื™ื ื›ืืŸ.

ืชื•ื“ื” ืฉืงืจืืช! ื ื™ืชืŸ ืœืจืื•ืช ืืช ืจืฉื™ืžืช ื”ืฉื™ื ื•ื™ื™ื ื”ืžืœืื”, ื›ืคื™ ืฉื›ื‘ืจ ื”ื•ื–ื›ืจ ื›ืืŸ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”