반응형

분류 전체보기 316

파이썬 판다스(Pandas) 라이브러리

Pandas란? 구조화된 데이터(structured data)를 빠르고 쉽게 다양한 형식으로 가공할 수 있는 강력 한 데이터 분석 환경 제공 판다스(pandas)를 이용해서, 빅데이터를 수정, 추가, 가공해서 볼 수 있다. 판다스 선언 import pandas // import pandas as pd 를 쓰기도함 판다스의 객체 -> Series 객체 형태로 출력됨. Series는 딕셔너리와 같이, index값을 유연하게 변경할수있다. Key, value형식 활용가능. Ex)dat = pd.Series([0.3, 0.7, 0.2]) dat[2] //0.2 dat = pd.Series([0.3, 0.7, 0.2], index=['a1','a2','a3']) ->인덱스값을 바꿀수있다. dat['a2'] // ..

파이썬 넘파이(Numpy) 라이브러리

Numpy: § 숫자 배열을 효과적으로 저장하고 가공하는 전문도구 NumPy의 기능 § 빠르고 효율적인 다차원 배열 객체 ndarray ü 데이터 컨테이너 역할 § 배열 원소를 다루거나 배열 간의 수학 계산을 수행하는 함수 § 디스크로부터 배열 기반의 데이터를 읽거나 쓸 수 있는 도구 § 선형대수 연산, 푸리에 변환, 난수 발생기 Numpy 선언 import numpy as np np.array([1,4,2,5,3]) //배열 선언 np.array([1,2,3,4], dtype=float32) //float형으로 선언 np.array([[1,2,3],[4,5,6]]) // 2차원배열 선언 여러가지 내장 기능 np.zeros(10, dtype=int) #0으로 채운 배열 np.ones((3,5), dtyp..

파이썬 기초 다지기

파이썬을 통해 빅데이터 분석을 하기 전에, 파이썬의 기초 문법을 확실히 알아두자. 1. 라이브러리 Import 사용하고싶은 라이브러리가 있으면 import를 하면된다. import (라이브러리 이름) 으로 코딩하면된다. 추가로 알아두면 좋은것이, import (라이브러리 이름) as (편한이름) 으로 설정하면, (편한이름).sqrt() , (편한이름).pow() 로 사용할수있다. EX) numpy->np , pandas ->pd 2. for 문 기본 형태는 for x in range()이다. x는 데이터 이름을 , range()는 범위를 설정한다. range(10)은 0~9까지 하나씩돈다 . 증분의 디폴트는 +1이다. 증분을 설정하고싶다면, range(시작, 끝, 증분) 으로 사용하면된다. 3. if문 ..

빅데이터 분석 시작하기 (Why?, 언어, 환경)

우리가 개발을할때 종종 기술을 선택해서 개발한다. 그렇다면 왜? 그 기술을 쓰는지, 다른 기술과 차별점이 무엇인지 알아두고 쓰는것이 중요하다. 사용법만 국한된 프로그래밍, 남들 다 쓰니깐 나도 이거 써야지~ 식은, 위험한 방식이라고 생각한다. 그래서 이번 포스팅은, 1. 왜 빅데이터 분석을하는가? 2. 빅데이터 분석을 하기위한 언어는 무얼 쓸것이고 왜 그 언어를 택햇나? 3. 해당 언어는 다양한 IDE를 지원한다. 그 IDE를 선택한 이유는 무엇인가? 의 대해 짧고 쉽게 핵심만 담아서 포스팅 할 예정입니다. 빅 데이터 분석을 하는이유: 폭발적인 데이터 증가 ex) 자율주행차량(autonomous car)은 8시간 동안 약 40TB의 데이터를 생산하고 소비 디지털 데이터의 단위 : Kilo 주피터 노트북은..

[프로그래머스,Java] Levle3: 위클리챌린지 11주차[아이템 줍기]

https://programmers.co.kr/learn/courses/30/lessons/87694#qna 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 문제분석: 제 혼자힘으론 풀지 못했습니다.. 다른사람의 조언을 듣고 풀었죠 길찾기 문제입니다! 캐릭터 위치와, 아이템위치간의 최소거리를 구하는 문제 길찾기=완전탐색(DFS,BFS)이 딱 떠오릅니다. 하지만, 이 문제는 단순 길찾기알고리즘으론 못풉니다. // 단순길찾기였으면 푸..

[프로그래머스,Java] Levle2: 메뉴 리뉴얼

문제분석 여러모로 할게 많은문제다.. 1. 각 손님들이 주문한 메뉴들을 기준으로, n개의 메뉴조합을 만든다. 2. 모든 메뉴조합의 카운트를 세준다. 2회 이상 나온것만 메뉴후보로 친다. 3.메뉴 후보를 정했다면, 가장 많이나온 메뉴후보를 선정한다. 4.만약, 가장 많이 나온 메뉴후보가 여럿있다면, 모두 출력하라. 필자의 문제 접근 우선, 순수한 단품메뉴들을 모아보고싶었다. 순수한 단품메뉴들의 모든 N개의 조합을 List로 넣어, 모든 조합을 정해놓고 손님들에게 넣어보며 카운트를 세주고싶었다. 1.Set 배열로,모든 손님의 단품메뉴들을 모아보았다. 2.단품메뉴들을 토대로, course[]의 숫자에따라 조합알고리즘을 적용한다. 모든 조합은 List case로 저장을했다. 3.cases에 들어있는 메뉴들의 조..

[프로그래머스,java] Levle2: n^2배열 자르기

문제분석 문제를 읽어보니 꽤나 친절한 문제다! 1. n^2 크기의 배열을 만들고 2. i행 i열 까지 i로 숫자를 세우고 3. 행 마다 모두 잘라서 새로운 1차원 배열을 만들고 4. left~right 사이에 있는 숫자들을 뽑아오면 된다! 만약, 문제설명 1~4번 과, 애니메이션이 설명하는 영상처럼 구현한다면 당신은 함정에 빠졋습니다. (필자도 당함) 그대로 구현하면 안되는이유 1.메모리초과 -> n이 10^7 이면, n^2 이 int범위를 넘어가서 Overflow 2.String, list ,StringBuilder는 Long타입(left,right)를 지원하지않음 따라서, 다시한번 생각을 정리해서 새로운 접근을 시도해봐야합니다. 이렇게보니, 각 열 각 행 마다 일정한 규칙이존재합니다. 네, 바로 Ma..

[프로그래머스,Java] Level2:짝지어 제거하기

문제분석 문제 예시로, baabaa 라면, 문자열이 들어오면서 중복이 일어나면 제거하는 연산을 해주면된다. 문제를 많이풀면 눈치가 생기는데, 바로 Stack알고리즘이 안성맞춤이다. 문자열 S를 하나씩끊어서 Stack에다 집어넣고, Stack.pop() 과 넣을문자가 같으면, 제거연산을 실행하면된다. 모든 문자열을 넣엇을때, 제거할수있으면 1 return 없으면 0을 return한다. 문제풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import java.util.*; class Solution { public int solution(String s) { int answer = 0; Stack stack = new Stack(); fo..

[프로그래머스,Java] Level2: 교점에 별 만들기 [위클리 챌린지 10주차]

https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 10주차 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 문제분석 문제에서 여러개의 직선을 입력으로 주어집니다. 여러개의 직선이 만나는 점을 교점이..

반응형