[Day 49] Sprint Review

2022. 4. 4. 18:49AI/Codestates

728x90
반응형

https://www.codestates.com/

 

코딩부트캠프 | 코드스테이츠 - 비전공생도 개발자가 될 수 있습니다

코딩부트캠프를 찾는다면? 개발자로 커리어 전환을 위한 책임있는 코딩 교육 기관! 서비스 기획자, 그로스 마케터, 데이터 사이언티스트 등 다양한 전문 커리어에 도전하세요. 취업 성공의 후기

www.codestates.com


Summary

  • CLI ( Command 기반 ) - Keyboard
    <-> GUI ( Graphic 기반 ) - Mouse
    • Top 5 기본 명령어
      • pwd : 현재경로
      • mkdir : 디렉토리 생성
      • cd : 해당 디렉토리로 이동
      • ls : 디렉토리안 파일 목록 출력
      • cat : 파일 출력
  • python 가상환경 : 패키지 충돌을 일으키지 않기 위해 각 독립적인 환경을 만들어줌
  • 아나콘다 가상환경 
    • conda creat --name {이름} python={버전}
  • SQL ( Structured Query Language )
  • DataBase 사용이유?
    • 파일 크기가 커지게 되면 한줄한줄 읽어오는데 걸리는 시간이 오래걸림
  • 기본키 : 테이블을 대표하는 키
    • NOT NULL
    • NO 중복
    • 대표성을 가져야 함
  • 외래키 : 두 테이블을 서로 연결하는데 사용되는 키
  • 트랜잭션 : 일련의 작업들에 대한 연속처리 단위
  • ACID
    • Atomicity ( 원자성 ) : 전부성공하거나 전부실패해야 되어야 한다는 것
    • Consustency ( 일관성 ) : 데이터베이스 상태는 이전과 같이 유효해야한다는 것
    • Isolation ( 고립성 ) : 하나의 트랜잭션이 다른 트랜잭션과 독립되어야 한다는 것
    • Durability ( 지속성 ) : 해당기록은 영구적이어야 한다는 것
  • CSV 파일 합치기
import psycopg2

host = '***'
user = '***'
password = '***'
database = '***'

connection = psycopg2.connect(
    host=host,
    user=user,
    password=password,
    database=database
)
db_create = """CREATE TABLE passenger(
    Id INT NOT NULL PRIMARY KEY,
    Survived INT,
    Pclass INT,
    Name VARCHAR(128),
    Sex VARCHAR(12),
    Age FLOAT,
    Siblings_Spouses_Aboard INT,
    Parents_Children_Aboard INT,
    Fare FLOAT
)"""

cur = connection.cursor()
cur.execute("DROP TABLE IF EXISTS passenger")
cur.execute(db_create)
connection.commit()
connection.close()
import pandas as pd
import os
import sqlalchemy
from sqlalchemy import create_engine

DATA_PATH = os.getcwd()
df = pd.read_csv(f'{DATA_PATH}/titanic.csv')
df = df.reset_index().rename(columns = {'index' : 'id'})
db_connection = create_engine('postgresql 주소')
df.columns = ['id', 'survived', 'pclass', 'name', 'sex', 'age', 'siblings_spouses_aboard', 'parents_children_aboard', 'fare']
conn = db_connection.connect()

dtypesql = {'id':sqlalchemy.types.INTEGER(), 
            'Survived':sqlalchemy.types.INTEGER(),
            'Pclass':sqlalchemy.types.INTEGER(),
            'Name':sqlalchemy.types.VARCHAR(128),
            'SEX':sqlalchemy.types.VARCHAR(12),
            'Age':sqlalchemy.types.FLOAT(),
            'SSA':sqlalchemy.types.INTEGER(),
            'PCA':sqlalchemy.types.INTEGER(),
            'Fare':sqlalchemy.types.FLOAT()
}

df.to_sql(name='passenger', con=conn, if_exists='append', index=False,dtype=dtypesql)

 

728x90
반응형

'AI > Codestates' 카테고리의 다른 글

[데이터 엔지니어링] 웹 스크레이핑  (0) 2022.04.05
[데이터 엔지니어링] Python 활용  (0) 2022.04.04
[데이터 엔지니어링] DB API  (0) 2022.03.31
[Day 46] SQL (01)  (0) 2022.03.29
[Day 45] 개발환경  (0) 2022.03.29