āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 1.0 āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§€ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›ā§‡

āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 1.0 āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§€ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›ā§‡

9 āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°ā§€, āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 1.0.0rc āĻ°āĻŋāĻ˛āĻŋāĻœ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 0.25āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄā§‡āĻŸāĻžāĻĢā§āĻ°ā§‡āĻŽ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ•āĻ°āĻŖ, āĻ†āĻ°āĻ“ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ, āĻ¨āĻ¤ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸āĻžāĻ‡āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻŦ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡ āĻāĻ–āĻžāĻ¨ā§‡, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ, āĻ•āĻŽ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ°āĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻŦāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦā§€āĻšāĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 1.0 āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ–āĻ¨āĻ“ āĻ†āĻ›ā§‡ āĻŽā§āĻ•ā§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§€, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

pip install --upgrade pandas==1.0.0rc0

āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°ā§āĻ¨: āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ°āĻŋāĻ˛āĻŋāĻœ, āĻ†āĻĒāĻĄā§‡āĻŸāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ­ā§‡āĻ™ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡!

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ 2 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ (āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ•āĻžāĻ°āĻŖ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻšāĻžāĻ˛āĻ¨āĻžāĻ—āĻžāĻĻ - āĻĒā§āĻ°āĻžāĻ¯āĻŧ. āĻ…āĻ¨ā§āĻŦāĻžāĻĻ) āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 1.0 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ 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 āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§€ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›ā§‡

āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°

āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸ 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

āĻ•āĻ˛āĻžāĻŽ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻĄāĻŋāĻŸāĻžāĻ‡āĻĒ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡ - āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ и bool,.

āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻ˛ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻžāĻ°āĻŋ āĻ•āĻ˛āĻžāĻŽ āĻĄā§‡āĻŸāĻžāĻĢā§āĻ°ā§‡āĻŽ āĻĨā§‡āĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

df.select_dtypes("string")

āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¨āĻžāĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ°āĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ āĻ¨āĻžāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°ā§‹ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡.

āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ! āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻ¯ā§‡āĻŽāĻ¨ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻĻā§‡āĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻ–āĻžāĻ¨ā§‡.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨