복원, 비복원 추출★SET활용하여 차집합,여집합 가능!★기초통계학-[Chapter04 - 경우의 수-03]
1. 복원추출(Replacement)
==> 표본공간에서 표본점을 선택할 때 , 동일한 표본점이 1번이상 반복하여 추출되도록 허용
EX) 1~5까지의 숫자가 적힌 공이 들어 있는 주머니에서 차례대로 2개의 공 꺼내기
a = itertools.product(np.arange(1,6) , repeat = 2)
print(list(a))
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5)]
==> 처음 꺼낸 공을 다시 주머니에 넣고 2번째 공을 꺼내기
==> 중복순열
2. 비복원추출(Replacement)
==> 표본공간에서 표본점을 선택할 때 , 동일한 표본점이 1번만 반복하여 추출되도록 허용
a = itertools.permutations(np.arange(1,6) ,2)
print(list(a))
EX) 1> 비복원추출로 공을 꺼내는 경우의 표본공간
==> 처음 꺼낸 공을 다시 주머니에 넣지 않고 두번째 공을 꺼내기
[(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4)]
==> 순열
https://knowallworld.tistory.com/146
3. 사건의 연산
R = list(np.arange(37))
# R.append('00')
print(R)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
1> 차집합(-)
A = list(filter(lambda x : x % 2 == 0 , R))
A
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36]
B = list(filter(lambda x : x%3 ==0 ,R))
B
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36]
A_yeo = list(set(R) - set(A))
A_yeo= sorted(A_yeo)
A_yeo
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35]
2> 교집합(&)
#%%
B_kyo_C = list(set(B) & set(C))
B_kyo_C
24
3>합집합( | )
EX ) (A U B)c ==> A와 B의 합집합의 여집합
A_hab_B = list(set(R) - (set(A) | set(B)))
A_hab_B = sorted(A_hab_B)
A_hab_B
[1, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35]
A_hab_B_and_kyo_C = list((set(A) | set(B)) & set(C))
A_hab_B_and_kyo_C = sorted(A_hab_B_and_kyo_C)
A_hab_B_and_kyo_C
[4, 14, 24, 34]
==> 교집합,합집합 ,여집합 사용시 SET 함수 사용하자!!!!!!!!
출처 : [쉽게 배우는 생활속의 통계학] [북스힐 , 이재원]
※혼자 공부 정리용