Pandas 1.0์ด ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์ ธ์˜จ ๊ฒƒ

Pandas 1.0์ด ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์ ธ์˜จ ๊ฒƒ

9์›” 1.0.0์ผ Pandas 0.25rc๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” XNUMX์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค์—๋Š” ํ–ฅ์ƒ๋œ ์ž๋™ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์š”์•ฝ, ๋” ๋งŽ์€ ์ถœ๋ ฅ ํ˜•์‹, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ์ƒˆ๋กœ์šด ๋ฌธ์„œ ์‚ฌ์ดํŠธ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ ํ›Œ๋ฅญํ•œ ์ƒˆ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—, ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ž‘๊ณ  ๋œ ๊ธฐ์ˆ ์ ์ธ ๊ฒ€ํ† ๋กœ ์ œํ•œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‰์†Œ์™€ ๊ฐ™์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚์•… ์‚์•… ์šธ๋‹ค, ๊ทธ๋Ÿฌ๋‚˜ 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

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 |

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด github gists๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Medium๊ณผ ๊ฐ™์€ ์‚ฌ์ดํŠธ์— ํ…Œ์ด๋ธ”์„ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

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

์—ด์ด ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. D ํƒ€์ž… ์ƒˆ๋กœ์šด ์œ ํ˜•์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค - ํ˜„ ะธ ๋ถˆ๋Ÿ‰๋ฐฐ.

์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ์œ ํ˜•์˜ ๊ฐ€์žฅ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์€ ํ–‰ ์—ด๋งŒ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์—์„œ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

df.select_dtypes("string")

์ด์ „์—๋Š” ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํ–‰ ์—ด์„ ์„ ํƒํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์œ ํ˜•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

์ฝ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ด๋ฏธ ์–ธ๊ธ‰ํ•œ ๋Œ€๋กœ ์ „์ฒด ๋ณ€๊ฒฝ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€