Numpy 얘기 좀 하자.array에서 [:]와 [::]의 차이점은 무엇입니까?
array([:])
>>> import numpy as np
>>>
>>> x=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
>>> print(x[1:5])# index 1~5 ,
[2 3 4 5]
>>> print(x[3:])# index=3 , index=3
[ 4 5 6 7 8 9 10 11 12]
>>> print(x[:9])# index=9 , index=9
[1 2 3 4 5 6 7 8 9]
>>> print(x[1:-2])# index=1 2 index
[ 2 3 4 5 6 7 8 9 10]
>>> print(x[-9:-2])# 9 index 2 index ,
[ 4 5 6 7 8 9 10]
array([::])
>>> print(x[1::3])# index=1 , 3
[ 2 5 8 11]
>>> print(x[::3])# index=0 , 3
[ 1 4 7 10]
>>> print(x[3::])# [3:]
[ 4 5 6 7 8 9 10 11 12]
>>> print(x[::-1])# , index , 1
[12 11 10 9 8 7 6 5 4 3 2 1]
>>> print(x[::-3])# , index , 3
[12 9 6 3]
>>> print(x[7:2:-1])# index=2( ) index=7
[8 7 6 5 4]
이 방면의 문제에 부딪혀서 이해하지 못했습니다. 차라리 해 보면 알 수 있습니다.보충: Numpy.array () 상세, np.array와 np.asarray 분석,np.array와 np.ndarry의 차이
numpy를 기록해 주세요.array()의 상세한 사용법 및 np.asarray ()와 np.ndarray () 의 차이점.
1. Numpy.array () 상세 정보
이 함수의 작용은 한마디로 수조를 만드는 데 쓰인다.
1.1 함수 형식
numpy.array(object,
dtype=None,
copy=True,
order='K',
subok=False,
ndmin=0)
1.2 매개변수 상세 정보
object
: 필수 매개변수, 유형은array_like, 네 가지 유형이 있습니다: 그룹, 그룹 인터페이스를 공개하는 모든 대상, __array__방법은 그룹의 대상이나 모든 (끼워넣기) 서열을 되돌려줍니다.np.array () 의 역할은 일정한 요구에 따라object를 수조로 바꾸는 것이다.dtype
: 수조 요소의 유형을 나타내는 파라미터를 선택할 수 있습니다.만약 제시되지 않는다면, 형식은 서열의 대상을 유지하는 데 필요한 최소 형식으로 확정됩니다.주:이 인수는'upcast'the array에만 사용할 수 있습니다.For downcasting, use the .astype(t) method.copy
: 옵션 매개 변수, 유형은bool값입니다.true (기본값) 이면 객체를 복사합니다.그렇지 않으면 다음 세 가지 경우에만 복사본이 반환됩니다. (1).if __array__ returns a copy;(2). if obj is a nested sequence;(3). if a copy is needed to satisfy any of the other requirements (dtype, order, etc.)order
:{‘K', ‘A', ‘C', ‘F'},optional .패턴의 메모리 레이아웃을 지정합니다.이 매개 변수를 나는 지금까지 구체적인 용법을 만난 적이 없다. 이 말은 내가 할 줄 모르기 때문에 여기서 생략한다는 뜻이다.subok
: 옵션 매개 변수, 유형은bool값입니다.True이면 하위 클래스가 전달되고 그렇지 않으면 반환된 그룹은 기본 클래스 그룹(기본값)으로 강제됩니다.또는, True:object를 사용하는 내부 데이터 형식,False:object 그룹을 사용하는 데이터 형식입니다.ndmin
: 선택 가능한 매개 변수, 유형은 int형입니다.결과 그룹이 가져야 할 최소 비트를 지정합니다.객체 복귀
out
: 지정한 요구를 충족시키는 그룹 대상을 출력합니다.1.3 구체적인 사용법
간단한 예
import numpy as np
arr01 = np.array([1,2,3])
print(arr01) #[1 2 3]
print(type(arr01)) #<class 'numpy.ndarray'>
print(arr01.dtype) #int32
#Upcasting
arr02 = np.array([1.,2.,3.])
print(arr02) #[1. 2. 3.]
print(arr02.dtype) #float64
#More than one dimension:
arr03 = np.array([[1,2],[3,4]])
print(arr03)
"""
[[1 2]
[3 4]]
"""
dtype 매개 변수 사용 예
import numpy as np
#
DYX= np.array([1,2,3],dtype = complex)
print(DYX) #[1.+0.j 2.+0.j 3.+0.j]
print(DYX.dtype) #complex128
# :
HXH = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i8')])
print(HXH) #[(1, 2) (3, 4)]
# , 。
print(HXH["a"]) #[1 3]
print(HXH["b"]) #[2 4]
print(HXH.dtype) #[('a', '<i4'), ('b', '<i8')]
print(HXH["a"].dtype) #int32
print(HXH["b"].dtype) #int64
TSL = np.array([(1,2,3),(4,5,6)],dtype=[("a","i"),("b","i"),("c","i")])
print(TSL["a"]) #[1 4]
print(TSL["a"].dtype) #int32
상기 코드 중numpy의 데이터 유형은 바이두에서subok 매개 변수 사용 예
import numpy as np
DYX = np.array(np.mat('1 2; 3 4'))
# subok , False
print(DYX)
#
print(type(DYX)) #<class 'numpy.ndarray'>
"""
[[1 2]
[3 4]]
"""
HXH = np.array(np.mat('1 2; 3 4'), subok=True)
print(HXH)
#
print(type(HXH)) #<class 'numpy.matrixlib.defmatrix.matrix'>
"""
[[1 2]
[3 4]]
"""
앞에서 subok에 대한 설명은 다음과 같다. "True라면 하위 클래스가 전달되고, 그렇지 않으면 되돌아오는 클래스는 기본 클래스 (기본값) 로 강제됩니다."위의 코드에서'np.mat('12;34')'은 하위 클래스이고 행렬 형식입니다.DYX = np.array(np.mat('12;3, 4')에서 subok은 False이고 되돌아오는 수조 유형은 기본 수조로 강제되기 때문에 DYX의 유형은
이것이 바로 차이점이다.
ndmin 매개 변수 사용 예
import numpy as np
DYX = np.array([1,2,3],ndmin=0)
print(DYX,DYX.shape) #[1 2 3] (3,)
HXH = np.array([1,2,3],ndmin=1)
print(HXH,HXH.shape) #[1 2 3] (3,)
TSL = np.array([1,2,3],ndmin=2)
print(TSL,TSL.shape) #[[1 2 3]] (1, 3)
다른 두 개의 매개 변수인copy와order를 나는 지금까지 만난 적이 없기 때문에 당분간 표시하지 않는다.누가 이 두 개의 매개 변수 사용법을 소개하는 블로그를 가지고 있습니까?2. Asarray와 Array의 분석
Numpy.Asaray의 용법은 더 이상 군더더기 없이 양자의 차이를 소개한다.
2.1 object 대상이 일반 교체 시퀀스일 때
import numpy as np
data = [1,1,1]
print(type(data)) #<class 'list'>
arr_ar = np.array(data)
arr_as = np.asarray(data)
#
print(arr_ar) #[1 1 1]
print(arr_as) #[1 1 1]
data[1]=2
# arr_ar arr_as
print(arr_ar) #[1 1 1]
print(arr_as) #[1 1 1]
# data [1, 2, 1]
# arr_ar arr_as
arr_ar[1]=3
print(data) #[1, 2, 1]
arr_as[1]=3
print(data) #[1, 2, 1]
매개 변수의 대상이 일반적인 교체 서열일 때 asarray와array는 차이가 없음을 알 수 있다.2.2 object 객체가 ndarray 객체일 때
import numpy as np
data = np.ones((3,))
#print(type(data)) #<class 'numpy.ndarray'>
arr_ar = np.array(data)
arr_as = np.asarray(data)
print(arr_ar) #[1. 1. 1.]
print(arr_as) #[1. 1. 1.]
"""
。 ,
np.array() ,
np.asarray()
"""
data[1]=2
print(arr_ar) #[1. 1. 1.]
print(arr_as) #[1. 2. 1.] !!!
"""
, array ,
asarray ,
"""
# data=[1. 2. 1.]
arr_ar[2]=3
print(data) #[1. 2. 1.]
arr_as[2]=3
print(data) #[1. 2. 3.]
요약:동일점:array와asarray는 모두 수조를 ndarray 대상으로 전환할 수 있다.
구별: 매개 변수가 일반 수조일 때 두 함수의 결과는 같다.파라미터 자체가 ndarray 형식일 때,array는 파라미터의 복사본으로 ndarray 대상을 새로 만들지만,asarray는 새로 만들지 않고 파라미터와 같은 메모리를 공유합니다.중요한 것은 바로 이 공유 메모리다.
3.Numpy.ndarray()
이것은 최근 한 항목에서 본 용법입니다. 용법을 검색해 보니 stackoverflow에서만 "What is the difference between ndarray and array in numpy?"라는 질문을 보았습니다.
주소는 다음과 같습니다. https://stackoverflow.com/questions/15879315/what-is-the-difference-between-ndarray-and-array-in-numpy
numpy.array는 ndarray를 만드는 편리한 함수일 뿐입니다.그것 자체는 같은 종류가 아니다.그가 말한 것도numpy를 사용할 수 있다.ndarray에서 그룹을 만들지만, 이것은 추천하는 방법이 아닙니다.numpy.ndarray () 는 클래스이고numpy입니다.array () 는 ndarray를 만드는 방법/함수입니다.
numpy docs에서 ndarray 클래스에서 그룹을 만들려면 인용된 두 가지 방식으로 할 수 있습니다.
(1).using array(), zeros() or empty() methods: Arrays should be constructed using array, zeros or empty (refer to the See Also section below). The parameters given here refer to a low-level method (ndarray(…)) for instantiating an array.[1-array (),zeros () 또는empty () 방법을 사용합니다. 수조는array,zeros () 또는empty () 구조를 사용해야 합니다. 여기에 제시된 매개 변수는 실례화된 수조에 사용되는 저급 방법 (ndarray (...) 을 인용합니다.]
(2).from ndarray class directly: There are two modes of creating an array using new: If buffer is None, then only shape, dtype, and order are used. If buffer is an object exposing the buffer interface, then all keywords are interpreted.[2-ndarray 클래스에서: new를 사용하여 그룹을 만드는 두 가지 모드가 있습니다. 만약에 버퍼가 None이라면shape, dtype,order만 사용합니다. 버퍼가 버퍼 인터페이스를 공개하는 대상이라면 모든 키워드를 설명합니다.]
그러니까 솔직하고 실용적이야.array () 하자.
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
numpy.array 함수 상해numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0) 역할: 그룹을 만듭니다. object:배열 그룹 인터페이스의 모든 대상을 공개합...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.