목록Python (27)
오랑우탄의 반란
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/n7IVS/btsIEcCDmQz/2mt4lqxMEAKras9mhvSfVk/img.jpg)
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 지난 포스트에 이어 데이터 확인 및 선택과 불리언 인덱싱을 알아보겠습니다. 4 데이터 확인 및 선택데이터 확인.head(n) / .tail(n)dataframe 을 위에서부터, 밑에서부터 출력해주는 함수로, 데이터셋을 불러올 때 제대로 들어있는지 간단하게 확인하는 용도입니다. .info()각 칼럼에 대한 null 여부과 그 개수, 타입을 알려주는 함수입니다. .describe()숫자 데이터에 대한 간단한 통계를 반환하는 함수입니다. .dtype 특정 칼럼의 타입을 조회할 수 있습니다. .dtypes모든 칼럼에 대한 타입을 조회할 수 있습니다. .astype()특정 칼럼의 타입을 바꿀 때 사용합니다. 아래 데이터로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uzlGZ/btsICl1KkHP/rqNVi86m9KSuJG1tJVdF21/img.jpg)
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 지난 포스트에 이어 Pandas 의 기초 개념 몇 가지를 알아보겠습니다. Seaborn 라이브러리의 내장데이터셋을 통해 학습하도록 하겠습니다. iris 데이터셋: 붓꽃의 꽃잎과 꽃받침의 길이와 너비를 포함한 데이터셋입니다.tips 데이터셋: 음식점에서의 팁과 관련된 정보를 담고 있는 데이터셋입니다.titanic 데이터셋: 타이타닉 호 승객들의 정보를 포함한 데이터셋입니다.flights 데이터셋: 연도별 항공편 정보를 담고 있는 데이터셋입니다.planets 데이터셋: 외계 행성 발견에 대한 정보를 담고 있는 데이터셋입니다. 1 데이터셋 불러오기 및 저장하기불러오기seaborn 라이브러리를 import 해 tips 데이터셋을 불..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KZXOS/btsIDmFqMFj/Fuyk67gCkxcOpivk97qcG0/img.jpg)
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 1 Pandas vs ExcelWHAT Pandas란?→ Python에서 데이터를 조작하고 쉽게 분석할 수 있게 도와주는 라이브러리대용량 데이터 처리가 가능 : Pandas는 데이터를 메모리에 로드하고, 다양한 연산을 빠른 처리가 가능하며 대용량 데이터를 처리하는데 최적화되어 있습니다.데이터 조작 기능 : 데이터 정렬, 필터링, 집계, 결측값 처리 등 데이터를 쉽게 가공할 수 있음데이터 시각화 기능 제공 : Matplotlib, Seaborn , … , etc데이터를 구조화하여 분석할 수 있음 : DataFrame이라는 자료형을 제공하여 데이터를 표 형태로 나타내어 분석이 가능함WHY 멀쩡한 엑셀 놔두고 왜 Pandas를 쓰나요..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFUYfL/btsIBWBiLzM/S8vm7sKytgab6JFfYemahK/img.png)
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 데이터 전처리WHAT 데이터 전처리란? → 원하는 데이터를 보기 위한 모든 활동 = raw 데이터 정리 작업 하나의 요리를 만들기 위한 재료 손질 작업이라고 비유할 수 있습니다. WHY 데이터 전처리를 왜 해야 하나요? → 가공되지 않은 데이터에서 원하는 정보를 편하게 얻기 위해세상의 모든 데이터가 깔쌈하게 정리되어 있다면 정말 행복하겠지요? 하지만 실제 데이터가 저장된 형태는 재각각이기 때문에 거기서 원하는 정보를 얻어내려면 우선 정리가 필요합니다. HOW 데이터 전처리는 어떻게 하나요? → 데이터 전처리를 할 때 방향성을 갖고 해야 합니다. 무슨 목적을 위해 어떤 정보를 확인하고자 하는지, 그 결과를 토대로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vVaLq/btsIAsNOLre/q5kC7wxRVZ6GqeunzFlpl0/img.png)
오늘도 오랑이는 문제를 풉니다. 명예의 전당 (1) 풀이 과정우선 전당에 올라갈 값들을 따로 저장해둘 빈 리스트 temp 가 필요합니다. 이때 k 값과 무관하게 모든 score 값 i 는 temp에 저장되는 과정을 거치므로 for 문 안에 바로 넣어줍니다.문제 문맥상 temp 의 sort를 해야 하나 싶었지만 어차피 추출할 때 min 값으로 추출하면 돼서 굳이 정렬이 필요 없습니다. def solution(k, score): answer = [] temp = [] for i in score: temp.append(i) #조건 answer.append(min(temp)) return answer 이제 구체적인 조건에 대해 생각해봅시다.temp 의 길이가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHJlMV/btsIARzUxt8/TKPoV1XILxa74jzcmOMFp1/img.png)
오늘도 오랑이는 문제를 풉니다. 콜라 문제풀이 과정뭐이리 길어..하는 문제지만 답변 코드는 굉장히 짧은 문제입니다.괜히 글도 길고 무슨 이미지도 있어서 복잡해보여도, n을 a로 나눈 값의 몫에 b를 곱해서 모두 더하는 간단한 풀이지요.이 과정을 반복해야 하기 때문에, 몫이 0이 되기 전까지 반복되도록 설정한 후, n도 매번 새로운 값으로 갱신되게 해야 합니다. 최종 코드def solution(a, b, n): answer = 0 while n//a != 0: answer += (n//a)*b n = (n//a)*b + n%a return answer 오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~ 프로그래머스코드 중심의 개발자 채용. 스택 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tBTDC/btsIBDHmocj/UnOsNh6WOug1r8s05m77x1/img.png)
오늘도 오랑이는 문제를 풉니다. 푸드 파이트 대회풀이 과정우선 1~len(food)의 숫자 i 에 대해서 food[i] 번 음식이 i 번 반복되도록 하는 패턴을 짜줍니다. food[i]을 둘로 나눈 몫만큼 i 를 문자열로 변환해서 곱해주면 됩니다.str(i)*(food[i]//2) 이후 반복문에 넣어보면 아래와 같이 우리가 원하는 패턴의 반이 리스트 형식으로 출력됩니다. 이때 이걸 뒤집은 형태의 리스트와 합쳐주면 되는데, 중간에 0을 넣고 싶은 것이지요.for i in range(1,len(food)): temp.append(str(i)*(food[i]//2)) temp += temp[::-1] temp.insert(len(temp)//2,'0') 이때 해당 부분이 for 반복..
파이썬 문자열과 숫자열 기초 문법을 살펴봅시다. 1 문자열1-1 문자열 연산문자열은 기본적으로 + (더하기) 기호로 연결(concatination) 해줍니다. 문자열에 숫자를 곱해서 반복시킬 수도 있습니다. a = "Hello"b = "world"print(a + b)# "Helloworld" print(a + " " + b)# "Hello world"print(a*2)# "HelloHello" 1-2 문자열 인덱싱/슬라이싱a = "Hello world"a[0] = "H"a[2:6] = "llo " #인덱스 2~(6-1) 까지a[2:] = "llo world"a[:6] = "Hello "a[:] = "Hello world"a[::-1] = "dlrow olleH" #역순 1-3 문자열 메소드cou..