홈>
두 번째 numpy 배열의 요소가 첫 번째 배열에있을 때를 나타내는 부울 배열을 얻는 데 문제가 있습니다.
어려운 부분은 각 배열이 위도/경도 쌍으로 구성되어 있으며 두 번째 좌표의 각 위도/경도가 첫 번째 좌표에도 있는지 확인하고 싶습니다. 그래서 이것은 교차점과 같습니다
여기까지 내가 한 일이 있습니다 (작은 예제 좌표로) :
firstlat = [0, 1, 5, 5]
firstlon = [1, 0, 5, 4]
secondlat = [0, 2, 0, 5]
secondlon = [1, 2, 5, 5]
firstcoords = numpy.array((firstlat, firstlon))
firstcoords = numpy.transpose(firstcoords) # gets lat/lon pair
secondcoords = numpy.array((secondlat, secondlon))
secondcoords = numpy.transpose(secondcoords)
a = numpy.isin(secondcoords, firstcoords)
Wrong output:
[[ True True]
[False False]
[ True True]
[ True True]]
Wanted output: [[True, False, False, True]]
Numpy is in arguments를 평평하게하기 때문에
firstcoords[0] = [0 1]
, "요소 별"을 잘못 비교하는 것 같습니다. 그러나 내가 본 것처럼 각 요소는
[lat lon]
로 구성됩니다.
;그것을 바꾸는 목적은
lat / lons
를 얻는 것이 었습니다.
쉬운 비교를 위해 튜플 또는 튜플과 같은 형태로. 그렇다면 내 접근 방식을 어떻게 수정합니까?이 문제에 대해 다른 접근 방식이 가능합니까?
- 답변 # 1
- 답변 # 2
귀하가 원하는 기능이 무수히 가능하다는 것을 모르겠습니다. 다음을 사용하는 것이 좋습니다.
in_second_and_first = set(zip(secondlat,secondlon)) & set(zip(firstlat,firstlon))
파이썬 2를 사용하고 있다면 (권장 할 것이지만)
itertools.izip
를 사용하십시오. 내장zip
대신 . - 답변 # 3
isin
를 활용하기위한 하나의 핵 배열은 실제로 1 차원이 아니지만 구조적 배열을 사용하는 것입니다.firstlat = [0, 1, 5, 5] firstlon = [1, 0, 5, 4] secondlat = [0, 2, 0, 5] secondlon = [1, 2, 5, 5] firstcoords = np.array(list(zip(firstlat, firstlon)), dtype=[("lat", int), ("lon", int)]) # array([(0, 1), (1, 0), (5, 5), (5, 4)], dtype=[('lat', '<i8'), ('lon', '<i8')]) secondcoords = np.array(list(zip(secondlat, secondlon)), dtype=[("lat", int), ("lon", int)]) # array([(0, 1), (2, 2), (0, 5), (5, 5)], dtype=[('lat', '<i8'), ('lon', '<i8')]) np.isin(secondcoords, firstcoords) # array([ True, False, False, True])
참조
Numpy가 각 행/텐서를 값으로 취급하게하는 방법
두 개의 2D numpy 배열에서 교차하는 행 가져 오기
관련 자료
- python - numpy 배열에서 이미지의 차이를 찾는 방법은 무엇입니까?
- python - numpy 배열에서 변수를로드하십시오 텐서 플로우 20
- gremlin - 두 정점이 연결되어 있는지 확인하기위한 효율적인 쿼리가 필요하십니까?
- 내 응용 프로그램에 안드로이드에서 자동 시작 권한이 있는지 확인할 수있는 방법이 있습니까
- java - 데이터베이스에 날짜가 있는지 확인
- c# - 세포가 반지름 안에 있는지 확인하는 피타고라스 정리
- java - 배열에서 키 번호가 반복되는지 확인하는 방법은 무엇입니까?
- swift - 문자열이 모두 소문자인지 확인하는 방법?
- python - 동일한 행에서 2 개의 데이터 프레임 열을 2 개의 numpy 배열 값과 비교
- numpy에서 정수 배열의 부호 형식
- python - 정지 상태가 아닌 조건부 점검
- python 3.x - 장고 - 필터 조건 내에서 날짜가 만료되었는지 확인하는 방법
- python - 데이터 프레임에 null 값이 포함되어 있는지 확인
- android - 탐색 구성 요소 - 조각이 새로 탐색되었는지 여부를 확인하는 방법
- bitmap - 안드로이드에서 이미지 (PNG, JPEG)가 손상되었거나 지원되지 않는지 프로그래밍 방식으로 확인하려면 어떻게합니까?
- python - numpy - 인덱스 배열을 기반으로 여러 배열을 결합
- python numpy array - check 배열의 모든 요소가 0 또는 2이면 true
- python - 두 목록 또는 numpy 배열을 비교하는 가장 빠른 방법은 무엇입니까
- c++ - STL 함수를 사용하여 문자열이 회문인지 확인하는보다 효율적인 방법을 찾고 있습니다
- windows - 디렉토리 심볼릭 링크의 대상이 존재하는지 확인하는 방법은 무엇입니까?
관련 질문
- python : 파이썬의 사분면으로 구름을 구분하십시오
- python : 나는 숫자에 간단한 1 차원 배열을 가지고 있습니다. numpy.concatenate를 사용하여이를 연결할 수 있어야합니다
- python : 숫자의 숫자의 요소 현명한 테스트는 숫자입니다
- 2D 배열을 취하고 Python에서 평균을 인쇄하는 기능 구축
- python : 파이썬 NP. 배열에서 이전 값을 참조하는 WANTERS?
- python : 배열에서 매트릭스를 만듭니다
- python : 새 배열을 만들지 않고 숫자 배열을 병합하는 방법
- python : numpy. 2 차원 배열의 어떠한 장소에서도
- python : 필터 배열은 마지막 컬럼의 값으로 표시합니다
- python : .to_numpy () 문자열 값을 배열에 가져 오지 않습니다.
위도와 경도를 튜플로 압축하는 경우 :
그러면 두 번째 목록 중 첫 번째 목록을 쉽게 확인할 수 있습니다.
반환 :