Look, See, Why

구글 COLAB을 활용한 사회통계 1.데이터 전처리 본문

사회학 공부/통계 및 데이터분석

구글 COLAB을 활용한 사회통계 1.데이터 전처리

S YE 2026. 3. 18. 20:48

# 변수의 변환-part 1
"nkgss_2025.pkl"파일을 이용하여 다음과 같이 변수를 변환하는 코드를 만들어 줘.
1. relig 변수에서 변수값이 1, 2, 3, 77일 경우는 1로, 4일 경우는 0으로 코드를 변환할 것. -8은 결측값으로 처리할 것. 변환 후 nrelig 변수로 저장할 것.
2. patrach123, patrach223, patrach523, patrach723 변수 모두에 -8과 -1일 경우 결측값으로 처리할 것. npatrach123, npatrach223, npatrach523, npatrach723 변수들로 저장할 것.
3. sex 변수에서 변수값이 1일 경우는 1로, 2는 0으로 변환하고 nsex 변수로 저장할 것.
4. age 변수에서 변수값이 -8일 경우 결측값으로 처리하고 nage 변수로 저장할 것.
5. marital 변수에서 변수값이 1, 6일 경우 2로, 2, 3, 4일 경우 1로, 5일 경우 0으로 변환하고, -8일 경우 결측값으로 처리할 것. 변환 후 nmarital 변수로 저장할 것.
6. emply 변수에서 변수값이 1일 경우는 1로, 2일 경우는 0으로 처리할 것. 변수값이 -8일 경우 결측값으로 처리할 것. 변환 후 nemply 변수로 저장할 것.
7. educ 변수에서 변수값이 0~3 또는 8일 경우 0으로, 4~7일 경우는 1로 처리할 것. -8일 경우는 결측값으로 처리할 것. 변환 후 neduc 변수로 저장할 것.
8. 변환된 변수 중 nrelig, nsex, nmarital, nemply, neduc의 데이터 타입은 범주형으로 저장할 것.
9. 모든 변환이 적용된 DataFrame을 기존의 nkgss_2025.pkl 파일에 덮어쓰기 할 것.
10. 변환된 변수가 포함되었는지 확인하고, 포함되지 않았다면 다시 실행해서 반드시 처리할 것.
11. head() method를 이용해서 nkgss_2025.pkl 데이터의 5행까지 탐색하는 코드를 만들 것.


--------------------------
# 변수의 변환-part 2
"nkgss_2025.pkl"파일을 이용하여 다음과 같이 변수를 변환하는 코드를 만들어 줘.
1. PATRACH123, PATRACH223, PATRACH523, PATRACH723 4개의 서열척도 변수로 행 단위 평균을 구해서 tpatrach라는 새 변수를 만들 것.
2. 단, 결측값은 제외하고 유효한 값만으로 평균을 산출하되, 4개 변수 모두 결측인 경우에만 결측으로 처리할 것.
3. 평균 산출 전에 변수가 숫자형인지 확인하고, 문자열이면 숫자형으로 변환한 후 산출할 것.
4. 변환이 적용된 DataFrame을 기존의 nkgss_2025.pkl 파일에 덮어씌기 할 것.
5. 변환된 변수가 포함되었는지 확인하고, 포함되지 않았다면 다시 실행해서 반드시 처리할 것.
6. head() method를 이용해서 nkgss_2025.pkl 데이터의 5행까지 탐색하는 코드를 만들 것.

--------------------------
# 교차표를 이용한 변수변환 정확성 확인
"nkgss_2025.pkl"파일에서 sex와 nsex의 교차표를 생성하는 코드를 만들어 줘. -바이브코딩은 실제로 코드 치는 것을 그저 말로 바꾼다고 생각하고 할 것.

 

 

 

-codebook을 json 파일로 만들어서 가이드를 주는 방법 (->클로드에서 활용)

-cf.클로드 데스크탑 버전에서는 세션이 꼬이지 않음.

-정확하게 코드를 지시하면 hallucination이 없다.

*ai 지시 팁 ) order을 하나씩 주기, 1. 2. 3. ... 순서대로 쓰기

-.pkl (피클 파일. 파이썬 바이너리 파일 형식)

-원데이터는 건들이지 않는다. 변환한 코드는 항상 새로운 변수로 저장하자. (nrelig)

-데이터 전처리를 제대로 해야 결과가 잘 나온다. 가장 오래 걸리는 과정이기도 함.

 

-Missing completely at Random (MCAR) : 완전히 무작위로 빠진 경우

-Missing at Random (MAR) : 조건부로 무작위로 빠진 경우 (최소한의 조건. 결측치가 10% 미만이라면 O.K)

->만약 결측치를 대체해야만 한다면 ... 데이터 imputation(대체) 을 한다.

 

-기초통계 : 대부분 평균과 분산분석이다.

 

-남자(1)를 1로, 여자(2)를 0으로 처리한다 : 명목척도를 비율척도처럼 변형한 것이다. (가변수=더미변수화)

->기준으로 삼고자 하는 것을 0, 비교집단을 1로 만든다. (가짜 비율척도라고 생각하면 된다.)

->여자(0, 기준)일 때보다 남자일 때 가부장제 인식이 어떻게 변화하는가?

 

-Sub Agent : 하위 agent, 역할별로 분리해서 처리 (잘했는지 check 하는 역할)

-병렬형 Agent : 여러 agents가 동시에 작업 수행


# 변수의 빈도 분석
"nkgss_2025.pkl"파일에서 RELIG, PATRACH123, MARITAL 변수의 고유값과 빈도 수를 계산하는 코드를 만들어 줘.