본문 바로가기

분류 전체보기502

[Python] groupby : 컬럼으로 데이터 분리 #groupby :컬럼으로 데이터 분리. import seaborn as sns titanic = sns.load_dataset("titanic") 📌 # class 컬럼으로 데이터 분할하기 # class 컬럼의 값으로 데이터를 분리 저장 # groupby(컬럼명) : 컬럼의 값. 그룹화된 DataFrame 객체 grouped = titanic.groupby("class") grouped for key,group in grouped : # key : 분리된 컬럼값 # group : 분리된 DataFrame 객체 print("===key:",key,end=",") #class 컬럼의 값 print("===cnt:",len(group),type(group)) #DataFrame 객체 titanic["clas.. 2023. 4. 25.
[Python] 범주형 데이터2 - 주식데이터 읽기 📌 # 주식데이터 읽기 df = pd.read_csv("data/stock-data.csv") df.info() df # 문자열 데이터를 Date 형으로 새로운 컬럼 생성하기 df["new_date"] = pd.to_datetime(df["Date"]) df df.info() # new_date 컬럼에서 년,월,일 정보 각각 컬럼으로 생성하기 df["Year"] = df["new_date"].dt.year df["Month"] = df["new_date"].dt.month df["Day"] = df["new_date"].dt.day df.info() # 월별 평균값 조회하기 df.groupby("Month").mean() # "Close","Start","Volume" df.groupby("Month").. 2023. 4. 25.
[Python] 범주형 데이터1 ''' 2022-12-08 복습 데이터 전처리 : 원본데이터를 원하는 형태로 변경 과정. 1. 결측값 처리 : 값이 없는 경우. - isnull() : 결측값인 경우 True, 일반값인 경우 False - notnull() : 결측값인 경우 False, 일반값인 경우 True - dropna() : 결측값 제거 함수 dropna(axis=1,thresh=500) : 결측값이 500개 이상인 컬럼 제거 dropna(subser=[컬럼명],how=any/all, axis=0) :결측값을 가지고 있는 행 제거 - fillna :결측값 치환 fillna(치환값,inplace=True) fillna(방법,inplace=True) : method="ffill"/"bfill" 2. 중복데이터 처리 - duplicat.. 2023. 4. 25.
[Python] 중복된 데이터 처리 📌 ### 중복데이터 처리 df = pd.DataFrame({"c1":['a','a','b','a','b'], "c2":[1,1,1,2,2], "c3":[1,1,2,2,2]}) df # duplicated() : 중복데이터 찾기. # 중복된 경우 중복된 두번째 데이터부터 True로 리턴 # 전체 행을 기준으로 중복 검색 df_dup = df.duplicated() df_dup df[df_dup] # 중복된 데이터만 조회 # c1컬럼을 기준으로 중복 검색 df["c1"].duplicated() # c1컬럼을 기준으로 중복 검색 col_dup = df["c1"].duplicated() df[col_dup] # 중복된 데이터 제거하기 # drop_duplicates() : 중복된 행을 제거하기 df # df .. 2023. 4. 25.
[Python] 데이터 전처리 📌 ##################################### ### 데이터 전처리 : 원본데이터를 원하는 형태로 변경하는 과정 # innull, notnull, dropan, fillna import seaborn as sns df = sns.load_dataset("titanic") df.info() # deck 컬럼의 값의 종류 출력 df.deck.unique() # deck 컬럼의 값의 건수 출력 df.deck.value_counts() # 결측값 제외한 건수 # 결측값을 포함한 값의 건수 df.deck.value_counts(dropna=False) df.deck.head() #isnull() : 결측값? 결측값인 경우 True, 일반값:False df.deck.head() #notnu.. 2023. 4. 25.
[Python] 빅데이터 분석 예제 #################### 빅데이터이용 ''' 행정안전부 : 정책자료 -> 연령별 인구현황 -> csv파일 다운 ''' 📌 import numpy as np import csv import re f = open("data/age.csv") data = csv.reader(f) # csv 형태의 파일을 읽어 저장 type(data) # _csv.reader data # 반복문을 통해 한행씩 조회가능 import matplotlib.pyplot as plt name = "역삼" for row in data : # row : 한개의 행 if row[0].find(name) >= 0 : # 행정구역의 내용에 name값이 존재? print(row) name=row[0] # 숫자의 , 제거 row = l.. 2023. 4. 25.
[Python] numpy 연산 📌 ### numpy 데이터 연산 # 1차원 배열의 연산 # 빼기 a = np.array([20,30,40,50]) b = np.arange(4) # (0,1,2,3) c = a-b # 각각의 요소들을 연산 c # array([20, 29, 38, 47]) # 더하기 c = a+b # 각각의 요소들을 연산 c # array([20, 31, 42, 53]) # 제곱 c = b**2 # b 요소들 각각의 제곱 c # array([0, 1, 4, 9], dtype=int32) # < 사용 c = a < 35 # a 배열의 요소를 35와 비교하여 작으면 True, 크면 False c # array([ True, True, False, False]) # 2차원 배열의 연산 a = np.array([[1,1],[0.. 2023. 4. 25.
[Python] numpy 행렬 ''' 2022-12-06 복습 # 시각화 과정 ------------------------------- seaborn 모듈을 이용한 그래프 distplot : 밀도선 + 객수의 막대그래프 표시 kdeplot : 밀도선 histplot : 갯수의 막대그래프 heatmap : 표로 이루어진 데이터를 색상으로 표시 boxplot : box그래프 줄력. 값의 범주를 그래프로 출력 violinplot : 값의 범주 + 분포도를 표시. 가로길이가 넓은 부분은 분포가 많은 수치를 의미. pairplot : 각각의 컬럼별 데이터 분포 그리기 각변수(컬럼)들의 산점도 출력 대각선위치의 그래프는 히스토그램으로 표시 FacetGrid : 조건(컬럼의 값)에 따라 그리드 나누기. 컬럼의 값(범주형 데이터)에 따라서 여러개의.. 2023. 4. 25.