[3]μμ : np.arange (-3, 0, 0.5, dtype = int)
μΆλ ₯ [3] : λ°°μ΄ ([-3, -2, -1, 0, 1, 2])
μ, "1"κ³Ό "2"λ₯Ό 보λ κ²μ λ μ«μκ° λͺ¨λ 0λ³΄λ€ μ‘°κΈ λ ν¬κΈ° λλ¬Έμ μ°λ¦¬μκ² μ½κ°μ μμμΉ λͺ»ν μΌμ΄μμ΅λλ€.
μΌλ°μ μΌλ‘ μ΄κ²μ dtype = intκ°μλ κ²°κ³Όμ λλ€.
In [2]: np.arange(-3, 0, 0.5)
Out[2]: array([-3. , -2.5, -2. , -1.5, -1. , -0.5])
and we should get this with dtype=int:
In [4]: np.arange(-3, 0, 0.5).astype(int)
Out[4]: array([-3, -2, -2, -1, -1, 0])
numpy 맀λ΄μΌμ λ€μκ³Ό κ°μ΄ λ§ν©λλ€.
dtype : dtype
μΆλ ₯ λ°°μ΄μ μ νμ
λλ€. dtypeμ΄ μ 곡λμ§ μμΌλ©΄ λ€λ₯Έ μ
λ ₯ μΈμμμ λ°μ΄ν° μ νμ μ μΆνμμμ€.
λ°λΌμ μΆλ ₯ λ°°μ΄μλ§ μν₯μ λ―ΈμΉ©λλ€.
import numpy as np
print(np.arange(-3, 0, 0.5))
print(np.arange(-3, 0, 0.5, dtype=int))
print(np.arange(-3, 0, 0.5).astype(int))
μ€λ₯ λ©μμ§κ° μμ΅λλ€ ...
numpy '1.18.4'(μμ Python 3.7.6) λ° '1.18.1'(μ΅μ μ λ°μ΄νΈκ° μ μ©λ Anaconda 3.7)μμ ν μ€νΈνμ΅λλ€. κ°μ κ²°κ³Ό.
1.18.4 3.7.6 (κΈ°λ³Έκ°, 2020 λ
2 μ 28 μΌ, 15:25:38)
[Clang 11.0.0 ( https://github.com/llvm/llvm-project.git eefbff0082c5228e01611f7
1.18.1 3.7.4 (κΈ°λ³Έκ°, 2019 λ
8 μ 13 μΌ, 20:35:49)
[GCC 7.3.0]
μ΄μ κ°μ λ²κ·Έλ κ³μν΄μλ³΄κ³ λ©λλ€. μκ°μ μμ΄λ²λ¦° μ΄μ λλ¬Έμ, λλ arangeμ ꡬνμ΄ λ€μκ³Ό κ°μ κ²μ΄λΌκ³ νμ ν©λλ€.
def arange(start, stop, step, dtype):
n = (start - stop) // step
# dtype.type is a cast
step = dtype.type(start + step) - dtype.type(start)
# now do what you expect
return [start + step*i for i in range(n)]
λ¬Έμμ μμ¬ μ½λλ₯Ό μΆκ°ν΄μΌν κΉμ?
μ, κ·Έ μ½λλ μ νν©λλ€ ( n
κ³μ°μ λν΄ 100 % νμ νμ§λ μμ΅λλ€). μ΄ νΉμ μλ λ§€μ° κ·Ήλ¨μ μ΄κ³ λΆλͺ
ν κΉ¨μ‘μ΅λλ€. μ΄λ»κ² λ μ€μ λ‘ μ κ±° ν μ μμ΅λκΉ?
arange
μ (λ) νλ¦Όμμ΄ μλͺ»λ μ μλ‘ μΈν΄ λ°λ³΅μ μΌλ‘ λ―Έμμ λ°κ³ μμ§λ§,μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ°μν μ λ§ μ’μ μ μμ μκ°ν μ μμ΅λλ€ (μλ§λ μ΄μ μ νλκ° λμμμ§λΌλ).
floatμ λν arange
λμμ μ λ³κ²½ν μμλ κ²κ³Όλ λ€λ¦
λλ€ (μ νν μμ μ΄μ§λ§ λμ λ³κ²½μ μ’μ IMOκ° μλλλ€). κ·Έλμ μ°λ¦¬λ μλ‘μ΄ ν¨μλ₯Ό λ§λ€μ΄μΌ ν κ²μ
λλ€.νμ§λ§ λλΆλΆμ κ²½μ° linspace
κ° "μ¬λ°λ₯Έ"float arangeλ³΄λ€ λ«λ€κ³ μκ°ν©λλ€. μμ λ float-arangeκ° μ€μ λ‘ μ¬μ© μ¬λ‘κ° λ무 λ§μ΅λλ€.
κ²°κ΅, λλ μ μκ°ν μ μμ μνλ€κ³ μκ°ν©λλ€ : / ...
"μ€μ§"λ³΄λ€ ν° κ°μ μ»λ κ²μ μ λ§ μ’μ§ μκ³ μμμΉ λͺ»ν μΌμ λλ€. arangeκ° floatκ° μλ κ²½μ° floaty numpy μ νμ νμΈνκ³ μμΈλ₯Ό λ°μμν¬ μ μμ΅λλ€.
λν dtypeμ λν μλ μ λ ₯μ μ€μ λ‘ μ¬μ©μκ° μΆλ ₯μ astype (dtype) λ³νκ³Ό κ°μ κ²μ κΈ°λν μ μλλ‘ν©λλ€.
μ΄λ :
1.) μ μκ° μλ μΈμμ λν μμΈ (μ : μμ, μ€μ§, λ¨κ³).
2.) μ€μ§> = μμμΈμ§ νμΈνκ³ , κ·Έλ μ§ μμΌλ©΄ μμΈ λ°μ
3.) ν¨μ μμ λΆλΆμμ μμ, μ€μ§, λ¨κ³λ₯Ό int64λ‘ μΊμ€ν
ν©λλ€.
4.) astype (dtype) μΆλ ₯
1 λμ ) μ μκ° μλ μ λ ₯μ΄ λ°κ²¬λλ©΄ arange λ΄λΆμ linspaceλ‘ λ¦¬λλ μ ν μ μμ΅λλ€.
μλ νμΈμ μ λ μ€ν μμ€ κΈ°μ¬μ λν μμ ν μ΄λ³΄μμ λλ€. μλν΄ λ³Ό μκ°. μ΄ μ€ λν«μ μ΄λ»μ΅λκΉ? @ eric-wieser
x = []
for i in range(start, stop):
x.append(i)
x.append(i+step)
print(np.array(x, dtype))
μ΄μ κ°μ λ²κ·Έλ κ³μν΄μλ³΄κ³ λ©λλ€. μκ°μ μμ΄λ²λ¦° μ΄μ λλ¬Έμ, λλ arangeμ ꡬνμ΄ λ€μκ³Ό κ°μ κ²μ΄λΌκ³ νμ ν©λλ€.
def arange(start, stop, step, dtype): n = (start - stop) // step # dtype.type is a cast step = dtype.type(start + step) - dtype.type(start) # now do what you expect return [start + step*i for i in range(n)]
κ°μ₯ μ μ©ν λκΈ
"μ€μ§"λ³΄λ€ ν° κ°μ μ»λ κ²μ μ λ§ μ’μ§ μκ³ μμμΉ λͺ»ν μΌμ λλ€. arangeκ° floatκ° μλ κ²½μ° floaty numpy μ νμ νμΈνκ³ μμΈλ₯Ό λ°μμν¬ μ μμ΅λλ€.
λν dtypeμ λν μλ μ λ ₯μ μ€μ λ‘ μ¬μ©μκ° μΆλ ₯μ astype (dtype) λ³νκ³Ό κ°μ κ²μ κΈ°λν μ μλλ‘ν©λλ€.
μ΄λ :
1.) μ μκ° μλ μΈμμ λν μμΈ (μ : μμ, μ€μ§, λ¨κ³).
2.) μ€μ§> = μμμΈμ§ νμΈνκ³ , κ·Έλ μ§ μμΌλ©΄ μμΈ λ°μ
3.) ν¨μ μμ λΆλΆμμ μμ, μ€μ§, λ¨κ³λ₯Ό int64λ‘ μΊμ€ν ν©λλ€.
4.) astype (dtype) μΆλ ₯
1 λμ ) μ μκ° μλ μ λ ₯μ΄ λ°κ²¬λλ©΄ arange λ΄λΆμ linspaceλ‘ λ¦¬λλ μ ν μ μμ΅λλ€.