본문 바로가기

전체 글323

''.join(dict.fromkeys()) join() '구분자'.join(문자열 혹은 리스트) = 입력한 문자열 혹은 리스트의 각 원소들을 사이에 지정한 구분자를 넣어 출력 ex) '_'.join('abc') = a_b_c 이때, 구분자를 빈칸으로 두면 그대로 출력 ex) ''.join('abc') = abc dict.fromkeys() dict.fromkeys(문자열 혹은 리스트) = 문자열 혹은 리스트의 원소를 중복 제거후 남은 원소들을 value가 없는 key로 저장 ex) A = ["a","b","b","c","a"] -> dict.fromkeys(A) = {"a":None, "b":None, "c":None} dict.fromkeys('abccbbd') = {"a":None, "b":None, "c":None, "d":None} dic.. 2022. 9. 14.
빅데이터 부트캠프 49일차 파일 입출력 - getwd() = 현재 경로 확인 - setwd("경로") = 입력한 경로로 변경 - read.csv("csv파일 경로") = csv파일 데이터 불러오기 R 기본 2 - rbind() = 지정한 데이터(벡터)들을 행으로 취급하여 병합 - cbind() = 지정한 데이터(벡터)들을 컬럼(열)으로 취급하여 병합 - merge() = 데이터프레임의 공통된 값을 기준으로 병합 - apply(행렬,1 혹은 2,함수) = 행렬의 행(1) 또는 열(2) 방향으로 특정 함수 적용 - lapply(1 혹은 2,함수) = apply의 결과를 리스트 형태(key-value)로 반환 - sapply(행렬,1 혹은 2,함수) = apply의 결과를 행렬 혹은 벡터 형태로 반환 - mapply(함수, 데이터1, .. 2022. 9. 14.
zip() zip() 서로 같은 길이의 리스트면 같은 인덱스 번호에 위치하는 데이터끼리 서로 짝을 이뤄 튜플을 생성하지만 서로 다른 길이의 리스트를 zip()에 적용하면 에러가 발생하는 것이 아니라 길이가 짧은 리스트에 맞춰 튜플이 생성된다. (길이가 긴 리스트에서 길이가 짧은 리스트의 마지막 인덱스보다 더 큰 인덱스 값을 가지는 데이터는 튜플 생성에서 제외) 관련 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022. 9. 13.
빅데이터 부트캠프 48일차 R - 데이터의 처리, 통계 계산 및 분석, 그래픽스를 위한 오픈 소스 프로그래밍 언어 - Rstudio라는 IDE 사용 - 파일 확장자는 .R 벡터 - R의 기본 데이터 타입 - 하나 이상의 원소로 이루어진 자료 (한 가지의 데이터 타입만 저장할 수 있는 리스트라 생각하면 편리) - 하나의 벡터 안에는 동일한 타입의 데이터들이 입력되야 함 - R에서 벡터는 c()를 이용하여 생성 - 벡터간 중첩(벡터 안의 벡터) 불가능 R 기초 - R은 인덱스가 0부터가 아닌 1부터 - R은 입력하는 원소의 개수가 두 개 이상이면 무조건 c()를 씌워서 입력해야 함 ex) A[1,2] -> wrong, A[c(1,2)] -> correct - 명령문의 맨 앞과 맨 뒤에 각각 (와 )를 입력하면 print 기능이 실행됨.. 2022. 9. 13.
list(map(int, input())) 주의할 점 평소 무의식적으로 input()뒤에 split()을 같이 입력하는 실수를 범할때가 있는데 입력값을 12345처럼 띄어쓰기 없이 입력할때 split()을 적용해버리면 각각의 숫자(1,2,3,4,5)가 아닌 하나의 숫자(12345)로 인식 특히 0이 앞자리에 있을 경우에는 앞자리에 있는 0이 모두 생략되어버리니 방심하지 말고 주의할 것! 2022. 9. 12.
sort, sorted 차이와 내림차순 .sort()는 리스트의 원소를 오름차순으로 정렬하는 파이썬 메서드인데 기본값이 sort(reverse=False)라서 sort(reverse=True)를 적용하면 내림차순이 적용됨 sorted()는 ()안에 입력한 어떠한 시퀀스 타입 데이터가 들어와도 오름차순으로 정렬하여 결과값을 리스트로 반환하는 파이썬 메서드인데 기본값이 sorted(데이터,reverse=False)라서 sorted(데이터,reverse=True)를 적용하면 내림차순이 적용됨 sort는 리스트만 가능, sorted는 어떠한 시퀀스 타입도 가능 sort는 적용하면 정렬된 상태를 계속 가져가고, sorted는 객체에 따로 저장해야함 sort, sorted 둘 다 결과값을 리스트로 반환 ex) li.sort() li1 = sorted(li) 2022. 9. 12.
전역변수(global) - 파이썬에서는 전역변수 설정 = global - 함수 바깥에서 정의한 변수를 함수 내에서 그대로 불러와 사용하고 싶으면 함수 내에서 [global 변수명] 을 입력하여 전역변수 처리를 해야함 (함수 바깥에서 정의한 변수는 그 자체로 전역변수니 global을 함수 바깥에서 적용하는 것은 무의미) ※ 만약 함수 내에서 global 처리를 하지 않으면 해당 변수를 전역변수가 아닌 지역변수로 처리 관련 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.. 2022. 9. 10.
Return, Continue, Break 차이 - return = 조건 만족시 함수 종료 (종료와 함께 돌려줄 값 지정 가능) - break = 조건 만족시 반복문 전체 종료 (다음 순서가 존재해도 종료) - continue = 조건 만족시 해당 시점 반복문 종료 후 다음 순서로 넘어감 ★ 즉, return(함수) > break(반복문 전체) > continue(해당 순서의 반복문) 순으로 큰 범위의 명령의 실행을 종료시킴 2022. 9. 10.
Hash - 파이썬의 딕셔너리와 유사 - 데이터를 입력하는 순서 상관 X - key:value 형식으로 데이터 저장 - value는 중복이 가능하지만 key는 중복 X - 저장한 데이터 수정 가능 - 모든 데이터 타입으로 접근 가능 - list에 비해 빠른 시간 복잡도 (list=O(N), Hash(Dict)=O(1)) - string을 기반으로 데이터를 기록하고 관리해야 할 때 주로 사용 (string 타입의 key) 해쉬 함수(Hash Function) - 임의의 길이를 갖는 임의의 데이터(key)를 고정된 길이의 데이터(해시 값)로 매핑하는 함수 - hash() = 해쉬값 설정 (해쉬값은 랜덤으로 부여됨, 중복 가능성 존재 - 중복 발생 = 해쉬 충돌 발생) ※ Java의 경우에는 hashCode() ※ 만.. 2022. 9. 10.
빅데이터 부트캠프 47일차 MongoDB 쿼리 언어 - null = 결측치 - $regex = 패턴이 일치하는 문자열 조회 (정규식) ※ 정규식 표현 기본 / = 문자열의 구분자, ^ = 문자열의 처음, $ = 문자열의 끝, . = 일치하는 문자열이 있는지 (\n으로 나눠진 뒷부분 제외), * = 해당 문자열이 0번 이상 반복되어 나오는지 (\n으로 나눠진 뒷부분 포함) ex) /123$/ = 123으로 끝나는 문자열 조회, /^abc/ = abc로 시작하는 문자열 조회 - $options = $regex 뒤에 혼용하며 정규식 옵션을 지정할 수 있음 ※ m = 문자열이 여러 줄일 경우 각 줄마다 조회, i = 대소문자 구분 X, x = 문자열 공백 무시, s = 정규식 표현중 .을 이용할 때 \n으로 구분된 부분도 포함해서 옵션 .. 2022. 9. 8.
빅데이터 부트캠프 46일차 (MongoDB) MongoDB - C++ 기반 문서지향적(Document-Oriented) 오픈 소스 데이터베이스 - 대표적인 문서형 모델 NoSQL 데이터베이스 - 행(row) 개념 대신 문서(document) 개념을, 테이블(table) 개념 대신 콜렉션(Collection) 개념을 사용 - 데이터를 구조화하여 json(키-값) 형태로 저장 - 데이터 계층 구조 = db > collection > document > field(key:value) ※ RDBMS 데이터 계층 구조 = db > table > tuple > column - sudo systemctl start mongod = MongoDB 전원 ON - sudo systemctl status mongod = MongDB 상태 확인 - sudo servic.. 2022. 9. 7.
빅데이터 부트캠프 46일차 (NoSQL) NoSQL 정의- RDBMS의 한계(스키마 문제, 스케일업 한계)를 극복하기 위해 만들어진 새로운 형태의 DBMS ※ 스케일 업(scale-up) = 기존 서버를 더 높은 사양으로 업그레이드하는 것 - 수직 스케일링    스케일 아웃(scale-out) = 기존 서버에 비슷한 성능의 서버를 연결(추가)하여 서버를 확장하는 것 - 수평 스케일링- 비관계형 데이터 베이스 NoSQL, RDBMS 비교- RDBMS = 테이블 기반, Scale-up- NoSQL = 테이블 기반 X, Scale-out- 트랜잭션 성질 RDBMS = ACID(Atomicity 원자성, Consistency 일관성, Isolation 고립성, Durability 지속성)  NoSQL = CAP(Consistency 일관성, Avail.. 2022. 9. 7.
빅데이터 부트캠프 45일차 SQOOP (SQL to Hadoop)- 관계형 데이터베이스(RDB)와 분산 파일 시스템(HDFS) 사이의 양방향 데이터 전송을 위해 설계된 오픈소스 소프트웨어- 기존에 존재하는 RDB에 있는 데이터를 HDFS로 전송※ Flume은 새로 생성된 데이터를 실시간으로 전송 & Hadoop 이외의 대용량 저장소로 전송 가능- sqoop import 시 primary key가 지정되어 있지 않으면 import 불가능- scoop은 리눅스에서 명령어를 입력해야 함 (MySQL, Hadoop X)- JDBC(Java Database Connectivity) = Java에서 DB에 접속할 수 있도록 하는 자바 API MySQL(RDB)에서 Hadoop으로 전송- sqoop import --connect jdbc:my.. 2022. 9. 6.
빅데이터 부트캠프 44일차 데이터베이스 (DB : DateBase) - 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임 - 데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정 - 데이터베이스 스키마 = 전체적인 데이터베이스의 구조 - 데이터베이스 상태 = 특정 시점의 데이터베이스의 내용 - DBMS (Database Management System) = 데이터베이스를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 소프트웨어 - 질의(Query) = DBMS에게 보내는 요청 - 관계형 데이터베이스 (RDBMS) = 모든 데이터를 2차원 테이블 형태로 저장하는 데이터베이스 - 객체 지향 데이터베이스 (OODB, Object-Oriented DataBase) = 객체 지향 프.. 2022. 9. 5.
Git 기본 사용법 - pwd = 현재 위치 확인 - cd(change directory) = 폴더 변경 - ls = 현재 파일 리스트(.으로 숨긴파일은 출력 X) - ls -a = 숨김 파일까지 모두 리스트로 출력 - cd ~ = 처음 위치로 재이동 - cd / = 최상위 폴더로 이동 - cd 폴더명 = 현재 있는 폴더에서 해당 폴더로 이동 - ctrl + a = 커서 제일 앞으로 - ctrl + e = 커서 제일 뒤로 - ctrl + b = 커서 한 칸 뒤로 - ctrl + f = 커서 한 칸 앞으로 - alt + b = 커서 한 단어 뒤로 - alt + f = 커서 한 단어 앞으로 - vi 파일명 = vi 모드로 파일 수정 - code 파일명 = vscode로 파일 수정 - notepad 파일명 = 메모장으로 파일 수.. 2022. 9. 3.