ืืืืฃ 9 ืืื ืืืจ, Pandas 1.0.0rc ืืื ืืืคืจืืื. ืื ืคืจืืขืจืืืงืข ืืืขืจืกืืข ืคืื โโโโืื ืืืืืืึธืืขืง ืืื 0.25.
ืืขืจ ืขืจืฉืืขืจ ืืืืคึผื ืืขืืืื ื ืึผืืื ืคืืืข ืืจืืืก ื ืืึท ืคึฟืขืึดืงืืืื, ืึทืจืืึทื ืืขืจืขืื ื ืืืคึผืจืืืื ืึธืืึทืืึทืืืง ืืึทืืึทืคืจืึทืืข ืกืึทืืขืจืืืืืฉืึทื, ืืขืจ ืจืขืืืืืึทื ืคึฟืึธืจืืึทืืืจืื ืืขื, ื ืืึท ืืึทืื ืืืืคึผืก ืืื ืืคืืื ืึท ื ืืึทืข ืืึทืงืืืืขื ืืืืฉืึทื ืคึผืืึทืฅ.
ืึทืืข ืขื ืืขืจืื ืืขื ืงืขื ืขื ืืืื ืืืืื
ืืืจ ืงืขื ืขื ืื ืกืืึทืืืจื ืื ืืืืืืึธืืขืง ืืื ืืขืืืืื ืืืขื ื ืืฆื ืคึผืืคึผ, ืึธืืขืจ ืืื ื ืืื ืืขืจ ืฆืืื ืคืื ืฉืจืืืื ืคึผืึทื ืืึทืก 1.0 ืืื ื ืึธื ืืขืืืื ื ืงืึทื ืืืืึทื, ืืืจ ืืืขื ืืึทืจืคึฟื ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืื ืืืขืจืกืืข:
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
ืึทืจืืืกืคืืจื ืืืฉื ืืื ืืึทืจืงืืึธืืื ืคึฟืึธืจืืึทื
ืึทื ืืืืื ืืืืขืฉ ืืื ืื ืคืืืืงืืื ืฆื ืึทืจืืืกืคืืจื ืืึทืืึทืคืจืึทืืขืก ืฆื ืืึทืจืงืืึทืื ืืืฉื ื ืืฆื DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
ืืึธืก ืืืื ืขืก ืคืื ืืจืื ืืขืจ ืฆื ืึทืจืืืกืืขืื ืืืฉื ืืืืฃ ืืืืืืขื ืืื ืืขืืืื ื ืืฆื ืืืืืื ืืืกืฅ.
ื ืื ืืืืคึผืก ืคึฟืึทืจ ืกืืจืื ืืก ืืื ืืืืึทื ื
ืื Pandas 1.0 ืืขืืืื ื ืืืื ืฆืืืขืืขืื ื ืืึท ืืงืกืคึผืขืจืืขื ืึทื ืืืืคึผืก. ืืืืขืจ ืึทืคึผื ืงืขื ื ืึธื ืืืืฉื, ืึทืืื ื ืืฆื ืขืก ืืื ืืืึธืจืขื ืขื. ืึธืืขืจ ืืื ืึทืืืขืืืื, ืคึผืึทื ืืึทืก ืจืขืงืึทืืขื ืื ื ืืฆื ื ืืึทืข ืืืืคึผืก ืืื ื ืึธืจ ืขืก ืืืื ืืื ืขื.
ืคึฟืึทืจ ืืืฆื, ืื ืืขืฉืืึทืื ืืึทืจืฃ ืืืื ืืขืืื ืืคืืจืืฉ:
>>> 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