Python 에서 flatten()함수 및 함수 용법 상세 설명
flatten 은 numpy.ndarray.flatten 의 함수 로 1 차원 배열 을 되 돌려 줍 니 다.
flatten 은 numpy 대상,즉 array 나 mat 에 만 적용 되 며,일반적인 list 목록 은 적용 되 지 않 습 니 다!
a.flatten():a 는 배열 입 니 다.a.flatten()은 a 를 1 차원 으로 내 리 는 것 입 니 다.기본 값 은 줄 의 방향 으로 내 리 는 것 입 니 다.
a.flatten()A:a 는 행렬 이 고 내 려 간 후에 도 행렬 입 니 다.행렬 A(같은 효 과 를 가 진 행렬.getA()는 배열 이 되 었 습 니 다.구체 적 으로 아래 의 예 를 보면:
1.array(배열)대상 에 사용
>>> from numpy import *
>>> a=array([[1,2],[3,4],[5,6]])
>>> a
array([[1, 2],
[3, 4],
[5, 6]])
>>> a.flatten() #
array([1, 2, 3, 4, 5, 6])
>>> a.flatten('F') #
array([1, 3, 5, 2, 4, 6])
>>> a.flatten('A') #
array([1, 2, 3, 4, 5, 6])
>>>
2.mat(행렬)대상 에 사용
>>> a=mat([[1,2,3],[4,5,6]])
>>> a
matrix([[1, 2, 3],
[4, 5, 6]])
>>> a.flatten()
matrix([[1, 2, 3, 4, 5, 6]])
>>> a=mat([[1,2,3],[4,5,6]])
>>> a
matrix([[1, 2, 3],
[4, 5, 6]])
>>> a.flatten()
matrix([[1, 2, 3, 4, 5, 6]])
>>> y=a.flatten().A
>>> shape(y)
(1L, 6L)
>>> shape(y[0])
(6L,)
>>> a.flatten().A[0]
array([1, 2, 3, 4, 5, 6])
>>>
이 를 통 해 matrix.A 의 용법 과 행렬 의 변 화 를 알 수 있다.3.그러나 이 방법 은 list 대상 에 사용 할 수 없습니다.list 가 같은 효 과 를 얻 으 려 면 목록 표현 식 을 사용 할 수 있 습 니 다.
>>> a=array([[1,2],[3,4],[5,6]])
>>> [y for x in a for y in x]
[1, 2, 3, 4, 5, 6]
>>>
!
다음은 파 이 썬 의 flatten 사용법 을 살 펴 보 겠 습 니 다.1.배열 에 사용
>>> a = [[1,3],[2,4],[3,5]]
>>> a = array(a)
>>> a.flatten()
array([1, 3, 2, 4, 3, 5])
목록flatten 함 수 를 직접 사용 하면 오류 가 발생 합 니 다.
>>> a = [[1,3],[2,4],[3,5]]
>>> a.flatten()
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
a.flatten()
AttributeError: 'list' object has no attribute 'flatten'
올 바른 용법
>>> a = [[1,3],[2,4],[3,5],["abc","def"]]
>>> a1 = [y for x in a for y in x]
>>> a1
[1, 3, 2, 4, 3, 5, 'abc', 'def']
아니면
>>> a = [[1,3],[2,4],[3,5],["abc","def"]]
>>> flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x]
>>> flatten(a)
[1, 3, 2, 4, 3, 5, 'abc', 'def']
3.행렬 에 사용
>>> a = [[1,3],[2,4],[3,5]]
>>> a = mat(a)
>>> y = a.flatten()
>>> y
matrix([[1, 3, 2, 4, 3, 5]])
>>> y = a.flatten().A
>>> y
array([[1, 3, 2, 4, 3, 5]])
>>> shape(y)
(1, 6)
>>> shape(y[0])
(6,)
>>> y = a.flatten().A[0]
>>> y
array([1, 3, 2, 4, 3, 5])
총결산위 에서 말 한 것 은 소 편 이 소개 한 Python 에서 flatten()함수 와 함수 용법 에 대한 상세 한 설명 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.