np.array([0.25, np.array([0.3])])
๋ float ๋ฐฐ์ด์ ๋ง๋๋ ๋ฐ ์คํจํ๊ณ dtype์ ๊ฐ์ฒด๊ฐ๋ฉ๋๋ค.
์ด๊ฒ์ ๋์๊ฒ ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค. ์๋์ ์ ๋๊น?
Cc @nschloe , ์ด๋ฌํ ์ ํ์ ์ผ์ ๋ฐ๋ํ๋ฉฐ ๋ฌธ์ ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
CCing์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ค, ์ด๊ฑด ์ ๋ง ์ ๊ฐํ๊ณ ์๋ ์ผ์ฒ๋ผ ๋ณด์ ๋๋ค. : smiley_cat : https://github.com/numpy/numpy/issues/10404
์ฌ๊ธฐ์ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ง๋๋ ๊ฒ์ด ์ณ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ๊ฒฐ๊ตญ, ๋น์ ์ ํ๋กํธ์ ๋ฐฐ์ด์ ํจ๊ป ๋ฃ๋ ๊ฒ์ ๋๋ค. Python ๋ชฉ๋ก์ ๋ง๋ ๊ฒฝ์ฐ
[0.25, np.array([0.3])]
๋น์ ์ ๋๊ฐ์ ๊ฒ์ ๊ธฐ๋ํ ๊ฒ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ float์ด๊ณ ๋ ๋ฒ์งธ ํญ๋ชฉ์ ๊ธธ์ด 1์ ๋ฐฐ์ด์ ๋๋ค. ์ฌ๊ธฐ์ ๋ชฉ๋ก๊ณผ np.arrays๊ฐ ๋ค๋ฅด๊ฒ ๋์ํ๋ฉด ํผ๋ ์ค๋ฌ์ธ ๊ฒ์ ๋๋ค.
๋ํ ์ฌ๊ธฐ์ ์์ ์ ์ผ๋ก dtype float ๋ฐฐ์ด์ ๋ง๋ค๋ฉด ๋ด๊ฐ ์ํ๋๋ผ๋ [float, vector[1]]
๋ฐฐ์ด์ ๋ง๋ค ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๊ฒฝ์ฐ np.array([0.25, np.array([0.3])])
์ ์ค์๋ก ์ํ๋๋ฉฐ ์ฝ๊ฒ ์์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด https://github.com/scipy/scipy/pull/11147/files#diff -21a6a0b0d89357857304bfba2da5a971L321์ ์ฐธ์กฐํ์ญ์์ค. ์๋ฌดํผ,
๋ช ์์ ์ธ ๊ฒ์ด ์์์ ์ธ ๊ฒ๋ณด๋ค ๋ซ์ต๋๋ค.
๋ค, ๋ซ์ต๋๋ค. ๊ทธ PR์ ์ต๊ทผ NEP 34 ๋ณ๊ฒฝ ์ฌํญ (๋ณต๊ท ์ดํ)์ด scipy์ ๋ ๋ฐฉํด๊ฐ๋๋๋ก ๋ง๋ค์์ ๊ฒ์ ๋๋ค.
ํ
์ฌ๊ธฐ์ ์์ ์ ์ผ๋ก dtype float ๋ฐฐ์ด์ ๋ง๋ค๋ฉด ๋ด๊ฐ ์ํ๋๋ผ๋ [float, vector [1]] ๋ฐฐ์ด์ ๋ง๋ค ์ ์์ต๋๋ค.
๊ธฐ๋ก์ ์ํด np.array(0.3, np.array([0.3]), dtype=object)
์์ต๋๋ค.
Python ๋ชฉ๋ก์ ๋ง๋ ๊ฒฝ์ฐ ...
NumPy ndarray๋ ํ์ด์ฌ ๋ชฉ๋ก๊ณผ ๋งค์ฐ ๋ค๋ฆ
๋๋ค. ๋๋ ๊ธฐ๋ํ์ง ์์ ๊ฒ์
๋๋ค
np.array([0.2, 0.3, 0.4])
๋ dtype์ ๋ํด np.float64
๋ฅผ ์ง์ ํ์ง ์์์์๋ ๋ถ๊ตฌํ๊ณ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด๋ค ์์ค์ ์๋ ๊ฐ์น ๊ธฐ๋ฐ dtype ๊ฒ์์ ์ต์ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๋ฌธ์ ๋ ์ซ์ ์ ํ ๋๋ ๊ฐ์ฒด ์ ํ ์ค ์ฐ์ ์์๋ฅผ ๊ฐ์ ธ์ผํ๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด๋ค ์์ค์ ์๋ ๊ฐ์น ๊ธฐ๋ฐ dtype ๊ฒ์์ ์ต์ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
์ฌ๊ธฐ์ "์๋ํ"๋ ๋งค์ฐ ๋ถ๋ช ํฉ๋๋ค. ๋ชจ๋ ์ ๋ ฅ ๊ฐ์ ์บก์ฒ ํ ์์๋ "๊ฐ์ฅ ๋ฎ์"๋ฐ์ดํฐ ์ ํ์ ํญ์ ๊ฐ์ ธ์ต๋๋ค.
numpy.array([1, 2]).dtype # int64
numpy.array([1, numpy.array(2)]).dtype # int64, array of rank 0 are basically scalars
numpy.array([1.0, 2]).dtype # float64
numpy.array([1, [2]]).dtype # O