Numpy: ๋„ ์ž…๋ ฅ ๊ฐ€๋Šฅ ์ •์ˆ˜ ๋ณ€ํ™˜

์— ๋งŒ๋“  2020๋…„ 10์›” 28์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: numpy/numpy

์•ˆ๋…•ํ•˜์„ธ์š”,

์ตœ๊ทผ pandas๋Š” nullable ์ •์ˆ˜ dtype์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html

numpy๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฐฐ์—ด์„ ์ž๋™์œผ๋กœ float ์œ ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  np.nan์œผ๋กœ ์ฑ„์šธ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ค ์ด์œ ๋กœ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values.dtype

์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

np.nanmax(pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values)

"TypeError: NA์˜ ๋ถ€์šธ ๊ฐ’์ด ๋ชจํ˜ธํ•ฉ๋‹ˆ๋‹ค"๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์ธ๊ฐ€์š” ?

๋ชจ๋“  3 ๋Œ“๊ธ€

์˜ˆ์ƒ ์ธ๊ฐ€์š” ?

nullable ์ •์ˆ˜๋Š” NumPy ์œ ํ˜•์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜๋„ํ•œ ๊ฒƒ์ด๋ฉฐ ์ผ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. NumPy๊ฐ€ ์–ด๋Š ์‹œ์ ์—์„œ ์ด๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๊ณง ์ผ์–ด๋‚  ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด UInt8 ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์˜๋ฏธ์—์„œ๋Š” NaN ์‹ค์ œ๋กœ NA์™€ ๊ฐ™์ง€ ์•Š๊ณ  pandas๋Š” ์ด ๊ตฌ๋ถ„์„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด pd.NA ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@Kreol64 ํŒฌ๋” ์ธก์—์„œ ์ด์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ธฐ ์œ„ํ•ด pandas-dev/pandas#37460์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰