배열 내 문자열 요소가 지정한 접미사(suffix)로 끝나는 위치를 True로 표시하는 부울(Boolean) 배열을 반환하려면 Python NumPy의 numpy.char.endswith() 메서드를 사용합니다.
이 메서드의 첫 번째 매개변수는 입력 배열이며, 두 번째 매개변수는 확인할 접미사입니다. numpy.char 모듈은 numpy.str_ 타입 배열에 대해 벡터화된 문자열 연산을 제공하므로, 반복문 없이도 배열 전체의 문자열을 한 번에 처리할 수 있습니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
1차원 문자열 배열을 생성합니다.
arr = np.array(['KATIE', 'JOHN', 'KATE', 'AmY', 'BRADley'])
생성된 배열을 출력해 확인합니다.
print("Array...\n", arr)배열의 데이터 타입을 확인합니다.
print("\nArray datatype...\n", arr.dtype)배열의 차원을 확인합니다.
print("\nArray Dimensions...\n", arr.ndim)배열의 형태(shape)를 확인합니다.
print("\nOur Array Shape...\n", arr.shape)배열에 포함된 요소의 개수를 확인합니다.
print("\nNumber of elements in the Array...\n", arr.size)이제 numpy.char.endswith() 메서드를 사용하여 각 문자열 요소가 접미사 'E'로 끝나는지 검사하고, 그 결과를 부울 배열로 반환합니다.
print("\nResult (endswith)...\n", np.char.endswith(arr, 'E'))전체 예제 코드
import numpy as np
# 1차원 문자열 배열 생성
arr = np.array(['KATIE', 'JOHN', 'KATE', 'AmY', 'BRADley'])
# 배열 출력
print("Array...\n", arr)
# 데이터 타입 확인
print("\nArray datatype...\n", arr.dtype)
# 차원 확인
print("\nArray Dimensions...\n", arr.ndim)
# 형태(shape) 확인
print("\nOur Array Shape...\n", arr.shape)
# 요소 개수 확인
print("\nNumber of elements in the Array...\n", arr.size)
# numpy.char.endswith() 메서드 사용
# 첫 번째 매개변수: 입력 배열
# 두 번째 매개변수: 접미사
print("\nResult (endswith)...\n", np.char.endswith(arr, 'E'))실행 결과
Array... ['KATIE' 'JOHN' 'KATE' 'AmY' 'BRADley'] Array datatype... <U7 Array Dimensions... 1 Our Array Shape... (5,) Number of elements in the Array... 5 Result (endswith)... [ True False True False False]
결과 해석
출력 결과를 보면 'KATIE'와 'KATE'는 문자 'E'로 끝나므로 True가 반환되었고, 'JOHN', 'AmY', 'BRADley'는 'E'로 끝나지 않으므로 False가 반환되었습니다.
참고로 이 메서드는 대소문자를 구분합니다. 만약 대소문자를 무시하고 비교하려면 세 번째 매개변수인 start, end 인덱스를 활용하거나, 배열 요소를 미리 np.char.upper() 또는 np.char.lower()로 변환한 뒤 비교하는 방법을 사용할 수 있습니다.