데이터 분석가를 향하여
-
[텍스트 마이닝-시각화] 워드클라우드 만들기 패키지 임포트import pandas as pd from wordcloud import WordCloud, ImageColorGenerator from PIL import Image import matplotlib.pyplot as plt import numpy as np from PIL import * 단어명과 빈도가 있는 데이터 불러오기df = pd.read_csv("저장경로/파일명.txt", sep='\t', encoding='UTF-8') df 단어명과 빈도로 딕셔너리 객체 생성. (단어 개수가 많을 경우 적당량만 새 데이터프레임에 담아서 사용해도 됨.)dict = dict(zip(list(df['명사']), list(df['빈도']))) dict 워드 클라우드를 만들고 싶은 모양이 있을 경우 이..
-
[공간 분석-데이터 전처리] 출발지와 도착지로 이동 경로 집계 후 LineString 객체 생성(geopandas) import pandas as pd import numpy as np from tqdm.notebook import tqdm import re import sys from collections import Counter import geopandas as gpd from shapely.geometry import LineString df = pd.read_excel("저장경로/파일명.xlsx") print(df.shape) print(df.shape) df_count = df.groupby('출발지-도착지_코드', as_index=False).count() df_count df_journey_uniq = df[['출발지-도착지_코드','출발지명','도착지명']].drop_duplicates() df_jo..
-
[텍스트 마이닝-정제] 주제와 관련 없는 문서 제거하기 데이터 불러오기df = pd.read_csv("저장경로/파일명.txt", sep='\t', encoding='UTF-8) df 데이터에서 주제와 관련 없다고 생각되는 단어가 들어간 문서 찾기# 데이터프레임의 '본문' 칼럼에서 주제와 관련 없는 단어가 들어간 문서의 인덱스를 찾는 작업. 원하는 단어를 and 뒤 코드를 수정하면서 계속 붙여넣으면 됨. find_ad = [i for i in range(len(df)) if '단어1' in df['본문'][i] and '단어2' not in df['본문'][i] and ... 반복] # 찾아낸 문서의 개수와 앞 10개 문서 인덱스만 확인하기 print(len(find_ad), find_ad[:10]) 인덱스 값으로 주제 삭제 후 새로운 데이터 프레임 생성 (원..
-
기상 관련 데이터 웹사이트 기상청 기상자료개방포털 https://data.kma.go.kr/ 기상자료개방포털 data.kma.go.kr -
[텍스트 마이닝-지표 산출] TF-IDF 계산 및 문서 개수 합계 산출 패키지 임포트import pandas as pd import numpy as np import re import sys from tqdm.notebook import tqdm from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer, TfidfTransformer 데이터 불러오기df = pd.read_csv("저장경로/파일명.txt", sep='\t', encoding='UTF-8') # print(df.shape, df.columns) corpus = df['morphs'].to_list() print(len(corpus), type(corpus[0])) df.head() 불용어 데이터 불러오기대명사 = pd.read_cs..
-
[텍스트 마이닝-시각화] Ucinet으로 CONCOR 시각화 https://chocolemon.tistory.com/143 [텍스트 마이닝-분석] 단어동시출현행렬 및 CONCOR 분석SNS 텍스트 분석을 하다 보면 텍스트 데이터에서 네트워크 분석이 필요할 때가 있습니다. 여러 개의 네트워크 분석 기법 중, 전체 데이터 내에서 유사한 맥락과 연결구조패턴을 갖고 있는 단어들chocolemon.tistory.com위 포스트에서 만든 파일을 가지고 CONCOR 분석과 시각화를 진행합니다. Ucinet 프로그램을 다운받습니다. 최신 파일을 다운받으시면 됩니다. https://sites.google.com/site/ucinetsoftware/download Analytic Technologies - DownloadTO DOWNLOAD, PRESS THE RED DOWNLOA..
-
[코딩 테스트] SQL - 프로그래머스 Lv.4 프로그래머스 코딩 테스트 MySQL: JOIN 보호소에서 중성화한 동물 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. select A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME from ANIMAL_INS A inner join ANIMAL_OUTS B on A.ANIMAL_ID = B.ANIMAL_ID where A.SEX_UPON_INTAKE B.SEX_UPON_OUTCOME order by A.ANIMAL_ID; 프로그래머스 코딩 테스트 MySQL: GROUP BY 식품분류별 가장 비싼 식품의 정보 ..
-
[코딩 테스트] SQL - 프로그래머스 Lv.3 프로그래머스 코딩테스트 MySQL: JOIN 오랜 기간 보호한 동물(1) 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. # 입양을 못 간 동물 = INS에는 이름이 있지만 OUTS에는 이름이 없는 동물 select NAME, DATETIME from ANIMAL_INS where ANIMAL_ID not in (select ANIMAL_ID from ANIMAL_OUTS) order by DATETIME LIMIT 3; 프로그래머스 코딩테스트 MySQL: GROUP BY 카테고리 별 도서 판매량 집계하기 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATE..
-
[코딩 테스트] SQL - 프로그래머스 Lv.2 프로그래머스 코딩테스트 MySQL: SUM, MAX, MIN 동물 수 구하기 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. select count(ANIMAL_ID) as count from ANIMAL_INS; 프로그래머스 코딩테스트 MySQL: SUM, MAX, MIN 최솟값 구하기 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. select DATETIME as 시간 from ANIMAL_INS order by DATETIME ASC LIMIT 1; 프로그래머스 코딩테스트 MySQL: SUM, MAX, MIN 중복 제거하기 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인..
-
[코딩 테스트] SQL -프로그래머스 Lv.1 프로그래머스 코딩테스트 연습 MySQL: IS NULL 나이 정보가 없는 회원 수 구하기 USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요. SELECT count(USER_ID) as USERS from USER_INFO where AGE is null; 프로그래머스 코딩테스트 연습 MySQL: IS NULL 이름이 있는 동물의 아이디 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. select ANIMAL_ID from ANIMAL_INS where NAME is not null order by ANIMAL_ID; 프로그래머스 ..
728x90