9 ΡΠ½Π²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Pandas 1.0.0rc. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β 0.25.
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠ°ΠΆΠΎΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠΎΠ², Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄Π°, Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip, Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ Pandas 1.0 Π²ΡΡ Π΅ΡΡ release candidate, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ:
pip install --upgrade pandas==1.0.0rc0
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ: ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΈΠ· ΠΌΠ°ΠΆΠΎΡΠ½ΡΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΌΠ°ΡΡ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄!
ΠΡΡΠ°ΡΠΈ, Ρ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 2 (ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΌ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ
$ 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
ΠΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΈΡΡΠ½ΡΠΌ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Markdown ΡΒ ΠΏΠΎΠΌΠΎΡΡΡΒ DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
ΠΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ ΡΠΈΠΏΠ° Medium Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ github gists.
ΠΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π»Ρ ΡΡΡΠΎΠΊ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
Π ΡΠ΅Π»ΠΈΠ· 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 ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ β string ΠΈΒ bool.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΡΡΠΎΠΊ ΠΈΠ· Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ :
df.select_dtypes("string")
Π Π°Π½Π΅Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΡΡΠΎΠΊ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΡΠ½.
ΠΠΎΠ»ΡΡΠ΅ ΠΎ Π½ΠΎΠ²ΡΡ
ΡΠΈΠΏΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ! ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com