반응형

코딩 116

파이썬(Python) - 파이썬에서 오라클 SQL로 접속하는 방법

1. Anaconda Prompt창을 관리자 권한으로 실행한다. 2. cx_Oracle 라이브러리를 설치한다. 혹시 라이브러리가 기존에 설치되어 있다면 업그레이드한다. python -m pip install cx_Oracle --upgrade 3. 파이썬 IDE를 실행시키고 cx_Oracle를 임포트한다. import cx_Oracle 4. 접속해야할 DB서버의 아이피 주소 혹은 서버이름, 포트번호, SID 정보를 입력한다. dsn = cx_Oracle.makedsn("localhost",1521,"xe") dsn 5. 데이터 베이스의 이름, 비밀번호, dsn으로 데이터 베이스에 연결한다. db = cx_Oracle.connect("hr","1234",dsn) db 6. SQL문 실행 메모리 영역(cur..

컴퓨터/파이썬 2020.03.19

파이썬(Python) - Sqlite 사용법

sqlite 별도의 DB서버가 필요없이 DB파일 기초하여 데이터베이스 처리하는 엔진 # sqlite3 라이브러리를 임포트 import sqlite3 1. 기본 사용법 # 메모리에다가 DB서버를 구성(연결)하기 conn = sqlite3.connect(":memory:") # sql문 작성하고 실행할 수 있는 메모리 영역 만들기 c = conn.cursor() # 테이블 생성 및 데이터 타입 지정하기 / integer = 숫자타입 c.execute("create table dessert(id integer, name char, kal integer)") # 테이블안에 값 넣기 c.execute("insert into dessert(id,name,kal) values(1,'케이크',324)") # 메모리에 ..

컴퓨터/파이썬 2020.03.17

파이썬(Python) - 날짜 계산

1. 날짜와 날짜 계산 # 현재 시간 - 지정한 시간의 일수 계산 (datetime.datetime.now() - datetime.datetime(2019, 7, 13, 10, 10, 10, 100)).days # 현재 시간 + 50일 더하기 datetime.datetime.now() + datetime.timedelta(days = 50) # Timedelta : 일, 시, 분, 초 계산 가능 # 현재 시간 + 1일 더하기 pd.datetime.now() + pd.Timedelta('1 days') # 현재 시간 + 8시간 더하기 pd.datetime.now() + pd.Timedelta('8 hours') # 현재 시간 + 60분 더하기 pd.datetime.now() + pd.Timedelta('6..

컴퓨터/파이썬 2020.03.17

파이썬(Python) - Pandas의 날짜함수

pandas의 날짜함수 import datetime # 현재 날짜, 시간 출력 / datetime.datetime.now() pd.datetime.now() # 현재 날짜 출력 pd.datetime.now().date() # 현재 년도 출력 pd.datetime.now().year # 현재 월 출력 pd.datetime.now().month # 현재 일 출력 pd.datetime.now().day # 현재 시 출력 pd.datetime.now().hour # 현재 분 출력 pd.datetime.now().minute # 현재 초 출력 pd.datetime.now().second # 현재 마이크로초 출력 pd.datetime.now().microsecond timestamp형식으로 출력 pd.Timesta..

컴퓨터/파이썬 2020.03.16

파이썬(Python) - Pandas의 문자함수

pandas 의 문자함수 Series변수이름.str.메소드 obj = Series([' hello','world ',' hello world ']) # 시리즈 안에있는 문자 길이 파악 obj.str.len() # 앞,뒤 공백 제거 obj.str.strip() # 앞,뒤 공백 제거 한뒤 문자 길이 obj.str.strip().str.len() # 왼쪽 공백 제거 obj.str.lstrip() # 왼쪽 공백 제거 한뒤 문자 길이 obj.str.lstrip().str.len() # 오른쪽 공백 제거 obj.str.rstrip() # 오른쪽 공백 제거 한뒤 문자 길이 obj.str.rstrip().str.len() obj = obj.str.strip() # 소문자로 변경 obj.str.lower() # 대문자로..

컴퓨터/파이썬 2020.03.16

파이썬(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
반응형