반응형

컴퓨터/파이썬 47

파이썬(Python) - merge와 join

컬럼 이름으로 merge df1 = DataFrame({'철학':['1_동양철학','2_서양철학','3_심리학','4_윤리학'], '종교':['1_기독교','2_불교','3_천도교','4_이슬람교'], '과학':['1_물리학','2_화학','3_수학','4_천문학']}) df1 df2 = DataFrame({'과학':['3_수학','4_천문학','5_지학','6_생명과학'], '사회':['3_통계학','4_경제학','5_정치학','6_법학'], '예술':['3_건축물','4_음악','5_회화','6_스포츠']}) df2 on 사용 # 같은 데이터 & 같은 컬럼 이름으로 merge pd.merge(df1,df2,on='과학') # 같은 데이터 & 같은 컬럼 이름으로 merge / 원하는 컬럼만 출력 pd...

컴퓨터/파이썬 2020.03.12

파이썬(Python) - Pandas의 그룹함수들

Series s = Series([3,4,2,None,6]) s 일때 # 덧셈 s.sum() s.sum(skipna=True) # na가 있으면 스킵하고 수행한다. (기본값) s.sum(skipna=False) # na가 있으면 스킵하지않고 nan출력 # 평균 s.mean() # na를 뺀 나머지로 계산하는거임s.mean(skipna=True) s.mean(skipna=False) # 표본분산 s.var() # 표준편차 s.std() # 최대 s.max() # 최소 s.min() # 최대값의 인덱스 번호 s.idxmax() # 최대값이 중복이면 처음나온 위치 s[s == s.max()] # 최대값 위치 다 찾기 s[s == s.max()].index # 인덱스 보기 s[s == s.max()].value..

컴퓨터/파이썬 2020.03.11

파이썬(Python) - null 처리

import numpy as np from numpy import nan as NA null(결측값) 표현 방식 None도 null이다. obj1 = Series([1,2,3,None,5]) obj2 = Series([1,2,3,np.nan,5]) obj3 = Series([1,2,3,NA,5]) 결측값들의 데이터 타입 type(None) type(np.nan) type(NA) null 체크하는 방법 obj1.isnull() obj2.isnull() obj3.isnull() null이 아닌것 체크 obj1.notnull() obj2.notnull() obj3.notnull() null인것만 뽑아내기 obj1[obj1.isnull()] null이 아닌것만 뽑아내기 obj1[obj1.notnull()] pa..

컴퓨터/파이썬 2020.03.11

파이썬(Python) - RANK

Rank 주로 TOP-N 분석, 순위구하기에 사용됨 값의 위치 / 순위로 표시된다. obj = Series([70,80,60,90,50,70,90,30,100]) obj # 작은값이 1등 obj.rank() # 큰값이 1등 obj.rank(ascending=False) # 같은 값을 순위의 평균으로 만든것(기본값) obj.rank(ascending=False, method='average') # 같은 값은 앞순위로 맞춤 obj.rank(ascending=False, method='min') # 같은 값은 뒷순위로 맞춤 obj.rank(ascending=False, method='max') # 같은 값은 먼저 나온 순서대로 순위를 매김 obj.rank(ascending=False, method='first..

컴퓨터/파이썬 2020.03.10

파이썬(Python) - Series와 DataFrame의 정렬

시리즈의 정렬 obj = Series([2,3,7,8], index=['d','a','b','c']) obj 일때 #인덱스를 기준으로 오름차순 정렬 작업(미리보기) obj.sort_index() #인덱스를 기준으로 내림차순 정렬 작업(미리보기) obj.sort_index(ascending = False) #값을 기준으로 오름차순 정렬 작업(미리보기) obj.sort_values() #값을 기준으로 내림차순 정렬 작업(미리보기) obj.sort_values(ascending = False) 데이터 프레임 정렬 df = DataFrame(np.arange(8).reshape(2,4), index = ['two','one'], columns=['d','a','c','b']) df 일때 인덱스를 기준으로 오름차..

컴퓨터/파이썬 2020.03.10

파이썬(Python) - Pandas로 CSV 파일 읽기

pd.read_csv : pandas에서 제공하는 csv파일 읽어들이는 메소드 1. 컬럼이 있는 csv 파일일때 emp = pd.read_csv("C:/data/emp_200310.csv") emp.info() 2. 컬럼이 없는 csv 파일일때 colname = ['EMPLOYEE_ID','FIRST_NAME','LAST_NAME','EMAIL','PHONE_NUMBER','HIRE_DATE', 'JOB_ID','SALARY','COMMISSION_PCT','MANAGER_ID','DEPARTMENT_ID'] emp1 = pd.read_csv("C:/data/emp_new.csv",header = None,names=colname) emp1.info() !! 주의 사항 !! 컬럼이 없는채로 불러들이면 무..

컴퓨터/파이썬 2020.03.10

파이썬(Python) - Series와 DataFrame의 사칙연산

시리즈 사칙연산 인덱스를 기준으로 연산한다. obj1 = Series([1,2,3,4,5], index=['a','b','c','d','e']) obj2 = Series([2,4,6,8,10], index=['a','b','d','f','g']) 일때 1. 더하기 obj1 + obj2 obj1.add(obj2,fill_value=0) 2. 빼기 obj1 - obj2 obj1.sub(obj2,fill_value=0) 3. 곱하기 obj1*obj2 obj1.mul(obj2,fill_value=1) 4. 나누기 obj1/obj2 obj1.div(obj2,fill_value=1) 데이터 프레임 사칙연산 인덱스와 컬럼을 기준으로 연산한다. df1 = DataFrame(np.arange(6).reshape(2,3)..

컴퓨터/파이썬 2020.03.10

파이썬(Python) - Pandas와 DataFrame

2차원 배열 : DataFrame 2차원배열 표형식의 자료구조 각 컬럼은 서로 다른 종류값(문자, 숫자. 불리언) sql(table), R(data.frame) 데이터 프레임(DataFrame) 생성 df1 = DataFrame([[1,2,3],[4,5,6],[7,8,9]]) df1 딕셔너리를 데이터 프레임으로 변환하기 data = {'도시':['서울','부산','강원','인천'], '인구수':[500,400,200,300]} data type(data) df2 = DataFrame(data) df2 처음부터 데이터 프레임으로 만들기 df2 = DataFrame({'도시':['서울','부산','강원','인천'], '인구수':[500,400,200,300]}) df2 type(df2) 데이터프레임 데이터 ..

컴퓨터/파이썬 2020.03.10

파이썬(Python) - Pandas와 Series

PANDAS 데이터 분석 기능을 재공하는 라이브러리 1차원 배열 : Serises 2차원 배열 : DataFrame (서로다른 타입의 시리즈들이 모여있는것) from pandas import Series, DataFrame import pandas as pd 1차원 배열 : Serises 1차원 배열 인덱스(색인) 배열의 데이터에 연관된 이름을 가지고 있다. 레코드형식하고 의미가 비슷하다. R은 벡터 자료형하고 비슷하다. 운영체제가 64라서 데이터 타입이 int64로 나온다. object = 문자형 시리즈(Series) 생성 및 확인 s1 = Series([10,20,30,40,50]) s1 type(s1) s1.astype 데이터 타입이 다른 시리즈 생성 및 확인 s1 = Series(['10',20,..

컴퓨터/파이썬 2020.03.09

파이썬(Python) - collections.Count() / map

collections.Counter() 파이썬 collections 모듈의 Counter클래스를 사용하면 동일한 값의 데이터가 몇 개 들어갔는지 딕셔너리 형태로 출력한다. 예 ) collections.Counter(['java','파이썬','python','자바','C','파이썬','자바']) collections.Counter({'pyton':5, 'C':6}) 변수에 넣어서 사용하기 collections.Counter()를 변수에 선언하고 값을 넣으려면 update()를 사용해야한다. : cnt = collections.Counter() cnt.update('간장공장공장장') cnt 위와 같은 상태로 update를하면 value값이 더해진다. : cnt.update({'간':10,'장':20}) cn..

컴퓨터/파이썬 2020.02.27
반응형