아래 함수에서 "sortedlist"라고하는 41000x3 numpy 배열이 있습니다. 세 번째 열은 값의 묶음을 가지며 그 중 일부는 중복되고 다른 것은 값이 아닌 값입니다. sortedlist [:, 2] 인 세 번째 열에서 고유 값 (중복 없음)의 샘플을 가져오고 싶습니다. numpy.random.sample (sortedlist [:, 2], sample_size)을 사용하면이 작업을 쉽게 수행 할 수 있다고 생각합니다. 문제는 그 값뿐만 아니라 마지막 열에 numpy.random.sample에서 얻은 무작위로 선택된 값이있는 세 개의 열 모두를 반환하고 싶습니다.파이썬 배열의 세 번째 열에서 고유 한 난수 값 선택
편집 : 고유 한 값으로 한 번만 나타나는 임의의 값을 선택하고 싶습니다. 내가 배열했다 그래서 경우
new_array_1 = [[5, 3, 9]
[3, 7, 1]
[5, 3, 2]
[5, 2, 8]]
하지만 내가 좋아하는 뭔가를하지 않으 :
array = [[0, 6, 2]
[5, 3, 9]
[3, 7, 1]
[5, 3, 2]
[3, 1, 1]
[5, 2, 8]]
을 내가 세 번째 열에 4 개 값을 선택하고 싶었, 나는 new_array_1 같은 뭔가를 얻으려면 3 열에서 두 값이 동일 new_array_2 :
new_array_2 = [[5, 3, 9]
[3, 7, 1]
[5, 3, 2]
[3, 1, 1]]
나는 임의의 값을 선택하는 코드를 가지고 있지만 기준없이 그들은 세 번째 열에서 중복되지 않아야 함.
samplesize = 100
rand_sortedlist = sortedlist[np.random.randint(len(sortedlist), size = sample_size),:]]
나는이
array_index = where(array[:,2] == sample(SelectionWeight, sample_size))
같은 것을 수행하여이 기준을 적용하기 위해 노력하고있어하지만 내가 곧 정상 궤도에있어 잘 모르겠어요. 어떤 도움이라도 대단히 감사하겠습니다!
"고유 값 ** (중복 없음) ** 샘플을 가져오고 싶습니다. 두 번 이상 나타나는 경우 샘플링에서 값을 제외 시키겠다는 의미입니까? 또는 모든 요소가 고유 한 목록에서 샘플링하고 싶습니까? 또는 대체하지 않고 샘플링하기를 원하므로 무작위로 샘플링 된 값이 절대로 중복되지 않습니까? 아니면 어떤 조합? 일부 샘플 데이터가 도움이됩니다. – Brionius
세 번째 열에 0 또는 1부터 최대 값까지의 모든 숫자가 포함되어 있습니까? 아니면 일부 중복되거나 시퀀스에 간격이 있습니까? –