본문 바로가기

반응형

분류 전체보기

(291)
10장 텍스트 마이닝 (2) 10-1 대통령 연설문 텍스트 마이닝 워드 클라우드 만들기 워드 클라우드(word cloud): 단어의 빈도를 구름 모양으로 표현한 그래프 1. wordcloud 패키지 설치하기 !pip install wordcloud 2. 한글 폰트 설정하기 font = 'DoHyeon-Regular.ttf' 3. 단어와 빈도를 담은 딕셔너리 만들기 # 데이터 프레임을 딕셔너리로 변환 dic_word = df_word.set_index('word').to_dict()['n'] dic_word """ {'나라': 19, '일자리': 19, '국민': 18, '우리': 17, '대통령': 12, '대한민국': 11, '확대': 11, '정치': 10, '우리나라': 10, '사회': 9, '사람': 9, '성장': 9, ..
10장 텍스트 마이닝 (1) 10-1 대통령 연설문 텍스트 마이닝 텍스트 마이닝(Text Mining): 문자로 된 데이터에서 가치 있는 정보를 얻어 내는 분석 기법 KoNLPy 패키지 설치하기 1. 자바 설치하기 2. KoNLPy 의존성 패키지 설치하기 3. KoNLPy 설치하기 !pip install jpype1 !pip install konlpy 가장 많이 사용된 단어 알아보기 1. 연설문 불러오기 moon = open('speech_moon.txt', encoding = 'UTF-8').read() moon """ 정권교체 하겠습니다!\n 정치교체 하겠습니다!\n 시대교체 하겠습니다!\n \n ‘불비불명(不飛不鳴)’이라는 고사가 있습니다. 남쪽 언덕 나뭇가지에 앉아, 3년 동안 날지도 울지도 않는 새. 그러나 그 새는 한번 ..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (9) 9-9 지역별 연령대 비율 - 어느 지역에 노년층이 많을까? 1단계 변수 검토 및 전처리 지역 연령대 2단계 변수 간 관계 분석 지역별 연령대 비율표 만들기 그래프 만들기 지역 변수 검토 및 전처리하기 1. 변수 검토하기 2. 전처리하기 welfare['code_region'].dtypes # 변수 타입 출력 ##출력: dtype('float64') welfare['code_region'].value_counts() # 빈도 구하기 """ 2.0 3246 7.0 2466 3.0 2448 1.0 2002 4.0 1728 5.0 1391 6.0 1137 Name: code_region, dtype: int64 """ # 지역 코드 목록 만들기 list_region = pd.DataFrame({'code_re..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (8) 9-8 종교 유무에 따른 이혼율 - 종교가 있으면 이혼을 덜 할까? 분석 절차 1단계 변수 검토 및 전처리 종교 혼인 상태 2단계 변수 간 관계 분석 종교 유무에 따른 이혼율 표 만들기 그래프 만들기 종교 변수 검토 및 전처리하기 1. 변수 검토하기 2. 전처리 welfare['religion'].dtypes # 변수 타입 출력 ##출력: dtype('float64') welfare['religion'].value_counts() # 빈도 구하기 """ 2.0 7815 1.0 6603 Name: religion, dtype: int64 """ # 종교 유무 이름 부여 welfare['religion'] = np.where(welfare['religion'] == 1, 'yes', 'no') # 빈도 구하..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (7) 9-7 성별 직업 빈도 - 성별로 어떤 직업이 가장 많을까? 분석 절차 1단계 변수 검토 및 전처리 성별 직업 2. 변수 간 관계 분석 성별 직업 빈도표 만들기 그래프 만들기 성별 직업 빈도 분석하기 1. 성별 직업 빈도표 만들기 2. 그래프 만들기 ## 남성 직업 빈도 상위 10개 추출 # job 결측치 제거 # male 추출 # job별 분리 # job 빈도 구하기 # 내림차순 정렬 # 상위 10행 추출 job_male = welfare.dropna(subset = ['job']) \ .query('sex == "male"') \ .groupby('job', as_index = False) \ .agg(n = ('job', 'count')) \ .sort_values('n', ascending = F..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (6) 9-6 직업별 월급 차이 - 어떤 직업이 월급을 가장 많이 받을까? 분석 절차 1단계 변수 검토 및 전처리 직업 월급 2단계 변수 간 관계 분석 직업별 월급 평균표 만들기 그래프 만들기 직업 변수 검토 및 전처리하기 1. 변수 검토하기 2. 전처리하기 welfare['code_job'].dtypes # 변수 타입 출력 ##출력: dtype('float64') welfare['code_job'].value_counts() # 빈도 구하기 """ 611.0 962 941.0 391 521.0 354 312.0 275 873.0 236 ... 112.0 2 784.0 2 423.0 1 861.0 1 872.0 1 Name: code_job, Length: 150, dtype: int64 """ list_job..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (5) 9-5 연령대 및 성별 월급 차이 - 성별 월급 차이는 연령대별로 다를까? 분석 절차 1단계 변수 검토 및 전처리 연령대 성별 월급 2. 변수 간 관계 분석 연령대 및 성별 월급 평균표 만들기 그래프 만들기 연령대 및 성별 월급 차이 분석하기 1. 연령대 및 성별 월급 평균표 만들기 ## 연령대 및 성별 평균표 만들기 # income 결측치 제거 # ageg 및 sex별 분리 # income 평균 구하기 sex_income = welfare.dropna(subset = ['income']) \ .groupby(['ageg', 'sex'], as_index = False) \ .agg(mean_income = ('income', 'mean')) sex_income 2. 그래프 만들기 # 막대 그래프 만들기..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (4) 9-4 연령대에 따른 월급 차이 - 어떤 연령대의 월급이 가장 많을까? 분석 절차 1단계 변수 검토 및 전처리 연령대 월급 2단계 변수 간 관계 분석 연령대별 월급 평균표 만들기 그래프 만들기 # 나이 변수 살펴보기 welfare['age'].head() """ 0 75.0 1 72.0 2 78.0 3 58.0 4 57.0 Name: age, dtype: float64 """ # 연령대 변수 만들기 welfare = welfare.assign(ageg = np.where(welfare['age'] < 30, 'young', np.where(welfare['age']
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (3) 9-3 나이와 월급의 관계 - 몇 살 때 월급을 가장 많이 받을까? 분석 절차 1단계 변수 검토 및 전처리 나이 월급 2단계 변수 간 관계 분석 나이에 따른 월급 평균표 만들기 그래프 만들기 나이 변수 검토 및 전처리하기 1. 변수 검토하기 2. 전처리 3. 파생변수 만들기 - 나이 welfare['birth'].dtypes ##출력: dtype('float64') welfare['birth'].describe() """ count 14418.000000 mean 1969.280205 std 24.402250 min 1907.000000 25% 1948.000000 50% 1968.000000 75% 1990.000000 max 2018.000000 Name: birth, dtype: float64 ""..
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (2) 9-2 성별에 따른 월급 차이 - 성별에 따라 월급이 다를까? 분석 절차 1단계 - 변수 검토 및 전처리 성별 월급 2단계 - 변수 간 관계 분석 성별 월급 평균표 만들기 그래프 만들기 성별 변수 검토 및 전처리하기 1. 변수 검토하기 2. 전처리하기 welfare['sex'].dtypes # 변수 타입 출력 ##출력: dtype('float64') welfare['sex'].value_counts() # 빈도 구하기 """ 2.0 7913 1.0 6505 Name: sex, dtype: int64 """ # 이상치 확인 welfare['sex'].value_counts() """ 2.0 7913 1.0 6505 Name: sex, dtype: int64 """ # 이상치 결측 처리 welfare['se..

반응형