파이썬

[Pandas] 데이터 연결(concatenate) 및 결합(merge), 그리고 간단 결합(join)
·
Data Science/Pandas
데이터 연결 concat(참고링크)를 이용한다. 이 경우 단순히 데이터프레임을 연결하는 것이다. 이때 여러 매개변수를 이용할 수 있다.objs는 연결할 데이터프레임 혹은 시리즈의 리스트나 딕셔너리를 입력받는다.axis는 연결할 축을 설정한다. 기본은 0으로 세로로 연결하는데, 1로 설정하면 가로로 연결한다.join은 연결할 때의 방식을 설정한다. 기본은 "outer"로 설정되어 있는데, 이 경우 모든 인덱스 혹은 열을 합쳐서 연결한다. 만약 "inner"로 설정하면 교집합만 연결한다.ignore_index는 연결 후 새로운 인덱스 부여 여부를 결정한다. 기본적으로 False로 되어 있어 인덱스가 바뀌지 않지만, True로 설정하면 인덱스를 새롭게 설정한다.verify_integrity는 연결하려는 각 데..
[Pandas] 값 혹은 인덱스를 기준으로 데이터프레임 정렬
·
Data Science/Pandas
값을 기준으로 데이터프레임 정렬 • sort_values 메소드sort_values(참고링크)를 이용하여 데이터프레임의 값을 기준으로 정렬할 수 있다. 기본적으로 sort_values는 정렬한 리스트를 반환한다.예시로는 seaborn의 mpg 데이터셋을 이용하겠다.import seaborn as snsimport pandas as pddf = sns.load_dataset("mpg")mpg 데이터셋을 head로 불러와 확인해보면 아래와 같이 생겼다. mpg cylinders displacement horsepower weight acceleration \0 18.0 8 307.0 130.0 3504 12.0 1 15.0..
[Pandas] 판다스를 통한 데이터 시각화(data visualization)
·
Data Science/Pandas
데이터 시각화 데이터를 확인할 때 데이터 그 자체로 보면 데이터의 특징을 파악하기 어렵다. 따라서 다양한 방법으로 데이터를 요약하거나 시각화하여 데이터의 특징을 파악하기도 한다.데이터를 파이썬으로 시각화할 때는 seaborn, matplotlib 등의 라이브러리를 사용하는데, 판다스에서도 간단하게는 시각화할 수 있기 때문에 간단하게 데이터의 특징을 파악할 때는 판다스의 메소드를 활용하는 편이 좋을 수 있다.데이터를 시각화할 때는 수치형 데이터와 범주형 데이터를 다르게 시각화하는 것이 일반적이다. 또한 시각화 메소드 또한 수치형 데이터냐, 범주형 데이터냐에 따라 다르게 동작하기 때문에 수치형 데이터를 시각화하는 메소드를 범주형 데이터에 사용하면 당연히 오류가 나기 때문에 미리 데이터의 정보를 파악(참고 링..
[Pandas] 데이터프레임 기초 통계량 확인
·
Data Science/Pandas
기초 통계량 어떤 데이터가 가지고 있는 성질을 확인하려면 기초 통계량을 확인해야 할 것이다. 이러한 통계량으로는 평균, 중앙값, 분산, 최대값, 최소값, 빈도수 등이 있을 것이다.일단 예시를 위해 임의로 데이터를 불러오자.import seaborn as snsimport pandas as pddf = sns.load_dataset("iris")seaborn의 iris 데이터셋을 불러왔다.iris 데이터셋에는 sepal_length, sepal_width, petal_length, petal_width, species 열이 있는데, 이 중 species 열만 범주형이다. 범주형이 아닌 수치형 자료는 평균, 중앙값 등을 가지는데, 범주형 자료는 빈도수, 종류 등의 통계량을 가진다.기본적으로 통계량은 desc..
[Pandas] 데이터 정보 확인과 미리보기 및 결측치 확인과 처리
·
Data Science/Pandas
데이터 미리보기 판다스에서 불러온, 혹은 만든 데이터를 간단히 확인할 필요가 있을 때 다양한 메소드를 활용한다.일단 예시를 위해서 데이터를 불러와본다.import seaborn as snsimport pandas as pddf = sns.load_dataset('iris')seaborn의 iris 데이터셋을 불러왔다.먼저 행과 열의 수를 확인해보려면 shape을 확인하면 된다.df.shape출력은 다음과 같다.(150, 5)행과 열 수를 확인하고 데이터 자체를 미리보려면 head, tail, sample을 사용한다.head(참고링크)는 위쪽 데이터를 불러와 보여준다.df.head(5)출력은 다음과 같다. sepal_length sepal_width petal_length petal_width s..
[Pandas] 판다스 csv, 엑셀(xlsx, xls) 불러오기 및 저장하기
·
Data Science/Pandas
CSV 불러오기 기본적으로 read_csv(참고링크)를 통해 csv 파일을 불러온다. 가장 간단하게는 파일 이름으로 불러올 수 있다.df = pd.read_csv("filename.csv")이때는 이 코드와 csv 파일이 같은 폴더 안에 있어야 한다. 만약 다른 폴더에 있는 파일을 사용하고자 한다면, 경로가 포함된 파일 이름을 넣어야 한다. 예를 들어 csv 파일이 다운로드 폴더에 있다고 한다면 다음과 같이 불러올 수 있다.df = pd.read_csv("C:\\Users\\UsersName\\Downloads\\filename.csv")주의할 것은 경로 복사로 붙여넣으면 C:\Users\...로 되어 있을 수 있는데, \ 가 아니라 \\로 설정해주거나 / 를 사용해주어야 한다.주로 사용하는 매개변수는 ..
[Pandas] 판다스 소개 및 시리즈(series)와 데이터프레임(dataframe)
·
Data Science/Pandas
판다스 (Pandas) 판다스(공식 홈페이지)는 판다와 관련이 없다. 판다스는 패널(panel) 데이터(data)를 다루는 라이브러리라 Pan(panel)da(data)s 이다. R이 이러한 방식의 데이터를 주로 다루는데, 판다스는 파이썬에서 R과 같이 데이터를 다룰 수 있도록 도와주는 라이브러리라 생각하면 된다. 데이터사이언스와 데이터분석의 기본적으로 사용되는 라이브러리이며, 다양한 포맷의 데이터를 불러와 처리하는데, csv, Excel, SQL 데이터베이스 등 데이터를 처리할 수 있다.import pandas as pd판다스는 기본적으로 pd로 바꿔 불러오는 것이 관례이다.간단한 판다스 관련된 여러 함수와 메소드를 간략하게 정리한 이 pdf를 참고하면 좋다. 시리즈 (Series) 1차원 배열과 유사..
[NumPy] 넘파이 소개 및 배열(ndarray) 만들기
·
Data Science/NumPy
넘파이 (NumPy) 넘파이(공식 홈페이지)는 파이썬에서 수치 계산을 도와주는 라이브러리로 파이썬에서 기본적으로 사용되는 리스트와 달리 모든 원소가 같은 자료형이고 크기를 바꿀 수 없는 배열을 활용할 수 있게 해준다.넘파이의 다차원 배열 객체를 통해 벡터, 행렬, 텐서 등을 효율적으로 계산하도록 하며, 덕분에 여러 수학, 통계, 데이터 분석, 기계 학습 등 다양한 라이브러리와 연동된다.내부 코드가 C로 구현되어 있어 파이썬 자체 계산보다 더욱 빠른 연산을 보여준다.import numpy as np넘파이는 기본적으로 np로 바꿔 불러오는 것이 관례이다.  넘파이 배열 (ndarray) 넘파이의 array 함수에 리스트를 넣으면 ndarray 클래스의 객체로 변환하여 사용할 수 있다. 앞서 언급했듯이 단일 ..
[Baekjoon 11722] 가장 긴 감소하는 부분 수열 | Python
·
Online Judge/Baekjoon
https://www.acmicpc.net/problem/11722문제 주어진 수열의 부분 수열 중 가장 긴 감소하는 수열을 찾는 문제이다. 풀이 각 인덱스에서 감소하는 수열의 최대 길이를 확인하고 그 중 가장 큰 값을 출력하면 된다.어떤 인덱스를 i라 하면 에서 감소하는 수열의 최대 길이는 i보다 앞 인덱스의 수 중 num[i]보다 큰 수를 찾고, 그 중 그 인덱스의 감소하는 수열의 최대 길이를 확인하여 1을 더하면 i에서의 감소하는 수열의 최대 길이가 된다.예제로 주어진 아래 수열을 확인해보자.10 30 10 20 20 1010은 자신보다 앞에 수가 없으므로 0에서의 감소하는 수열의 최대 길이는 1이다. 30 역시 자신보다 앞에 수 중 자신보다 큰 수가 없으므로 1이다. 10은 앞 수 중에 30이 자..
[Baekjoon 27907] The primes contain arbitrarily long arithmetic progressions | Python
·
Online Judge/Baekjoon
https://www.acmicpc.net/problem/27907문제 임의 길이의 소수 등차수열을 출력하는 문제이다. 풀이 여러 고민을 하면서 다양한 풀이방법을 시도했지만, 풀리지 않았는데, 풀이 방법을 찾아보니 공차에 대한 조건이 없으므로 그냥 임의의 소수를 주어진 길이만큼 출력하는 문제였다.즉 일반적인 답이 없다는 것을 빨리 알아차리고, 문제의 허점을 찾아야 하는 문제였다. 코드 print(*([2 for _ in range(int(input()))]))
애스터로이드
'파이썬' 태그의 글 목록