[Python] Pandas - 11. melt로 tidy data 만들기
2022. 10. 15. 13:13
Python/Pandas
Tidy data? tidy data는 말 그대로 깔끔한 데이터이다. Jeff Leek가 쓴 책 The Elements of Data Analytic Style에서 정의한 깔끔한 데이터 각 변수는 개별의 열(column)으로 존재한다. 각 관측치는 행(row)를 구성한다. 각 표는 단 하나의 관측기준에 의해서 조직된 데이터를 저장한다. 만약 여러개의 표가 존재한다면, 적어도 하나이상의 열(column)이 공유되어야 한다. 예시로 (221, 134)로 컬럼 값이 너무 많아서 보기 힘들다. 이처럼 가로로 배열된 데이터를 세로로 녹여줄 수 있는 것이 바로 melt 이다. melt [공식문서] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas...
[Python] Pandas - 10. 구간 나누기(cut, qcut)
2022. 10. 15. 12:47
Python/Pandas
1. pd.cut( ) 연속된 수치를 구간으로 나누어 카테고리화 할 때 사용 - bins 옵션: 나누고자 하는 구간의 개수 설정 - labels: 카테고리 명을 설정, 지정한 bins의 개수보다 1개 적어야 한다. 2. pd.qcut() 동일한 갯수를 갖도록 구간 분할(즉 데이터의 분포를 최대한 비슷하게 유지하려고 할 때 사용) - qcut 역시 labels 지정 가능하다.
[Python] Pandas - 8. value_counts(빈도수 확인), sort_
2022. 10. 15. 12:41
Python/Pandas
1. 컬럼 값 분포 확인하기 df_grade.value_counts( ) 2. 정렬하기 1) 지정한 값으로 정렬하기: sort_values sort_values(by = ['기준1', '기준2], ascendig = [False, True]): 값을 기준으로 정렬 df_grade.sort_values(by = "학점", ascending=False) df_grade.sort_values(by = ["학점", "이름"], ascending= [False, True]) # ascending = true: 오름차순 // ascending = false: 내림차순 2) 인덱스로 정렬하기: sort_index df_grade.sort_index
[Python] Pandas - 7. 데이터프레임 원하는 값만 출력하기
2022. 10. 15. 12:36
Python/Pandas
import pandas as pd df_grade = pd.DataFrame() df_grade["이름"] = ["김가영", "정나영", "이다영"] df_grade["나이"] = [27, 26, 28] df_grade["성별"] = ["남자", "냠자", "냠자"] df_grade["학점"] = ["4.5", "4.0", "3.5"] df_grade["성"] = ["kim", "jeong", "LEE"] df_grade 1. 데이터프레임과 시리즈 출력하기 print(df_grade): 데이터프레임 출력 prinnt(df_grade["이름"]): 시리즈 출력 2. 컬럼명으로 원하는 값 출력 1) 1개 컬럼 가져오기 df_grade["이름"] #시리즈 형태로 가져오는 것이다. [ ] 2) 다수의 컬럼 가..
[Python] Pandas - 6. 데이터프레임 컬럼/행 추가, 변경, 삭제
2022. 10. 15. 12:16
Python/Pandas
1. 컬럼, 컬럼값 추가하기 세로로 한 줄 추가된다. 1) 컬럼명과 값 직접 입력해서 추가하기 import pandas as pd df_grade = pd.DataFrame() df_grade["이름"] = ["김가영", "정나영", "이다영"] 값을 하나만 입력할 경우 해당 컬럼에 하나의 값이 일괄적으로 입력된다. df_grade["나이"] = 25 나이 컬럼에 25가 일괄적으로 입력될 것이다. 2) insert로 추가하기 중간에 컬럼을 추가하고 싶은 경우 insert( ) 활용 insert(컬럼 인덱스, 컬럼명, 값) 2. 컬럼값 변경하기 위에서 나이 컬럼에 일괄적으로 25라는 값이 입력되었기에 나이 컬럼 값을 바꿔보자. df_grade["나이"] = [27, "nan", 28] nan 값을 입력할 ..
[Python] Pandas - 5. 데이터프레임 출력, 타입, 전치, 미리보기, 기술통계, 통계값(집계/상관계수 등)
2022. 10. 15. 11:30
Python/Pandas
[공식문서] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html 시리즈 속성과 메서드 게시글에서 언급했듯이 어트리뷰트는 괄호를 쓰지 않고, 메서드는 괄호( )를 사용한다. 또한 접근하고자 하는 데이터 뒤에 점을 찍고 사용하며 연결해서 사용할 수도 있다.(메서드체이닝) 1. 인덱스 출력 및 지정 1) 인덱스 출력 데이터프레임명.index 2) 인덱스 지정 데이터프레임명.index = [index로 지정할 것] # 기본 값은 RangeIndex이다. 2. 컬럼명 출력 데이터프레임명.columns 3. value 값 출력 데이터프레임명.values 모든 값을 출력, numpy array형식으로 출력 4. 데이터 타입 ..
[Python] Pandas - 4. 데이터프레임 기본개념, 생성, 인덱싱과 슬라이싱(출력)
2022. 10. 15. 11:23
Python/Pandas
[공식문서] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html 1. 데이터프레임이란? 1) 2차원 배열로, 행과 열로 구성되어 있다. 2) 각 열은 각각의 데이터 타입(dtype)을 가진다. 2. 데이터프레임 생성하기 pd.DataFrame( [ ] )을 사용해서 데이터프레임을 생성할 수 있다. 1) 리스트를 통해 생성(2차원 리스트를 대입) 생성 시 columns를 지정하면 각 열에 대한 컬럼명을 지정할 수 있다. pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns = ['컬럼1', '컬럼2', '컬럼3']) 2) 딕셔너리를 통해 생성 딕셔너리의 key값이 자동..
[Python] Pandas - 3. 시리즈 어트리뷰트와 메서드
2022. 10. 15. 11:14
Python/Pandas
시리즈의 속성과 메서드에 대해 알아보자. [시리즈 공식문서] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html?highlight=series#pandas.Series 공식문서에서 시리즈에서 사용할 수 있는 속성과 메서드를 자세하게 확인할 수 있다. 참고로 어트리뷰트는 괄호를 쓰지 않고, 메서드는 괄호( )를 사용하니 꼭 기억하자. 또한 접근하고자 하는 데이터 뒤에 점을 찍고 사용하며 연결해서 사용할 수도 있다.(메서드체이닝) 1. values - 데이터 값(value)만 가져오기 시리즈명.values value 값만 numpy array 형식으로 가져온다. 2. ndim - 시리즈의 차원 출력 시리즈명.ndim 시리..
[Python] Pandas - 2. 시리즈 기본개념, 시리즈 생성, 인덱싱, 슬라이싱
2022. 10. 15. 11:02
Python/Pandas
[시리즈 공식문서] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html?highlight=series#pandas.Series 1. Series란? 시리즈는 1차원 배열이다. 인덱스가 사용가능하고, 데이터 타입(dtype)을 갖는다. 2. 시리즈 생성 1) 값을 변수에 할당하고 변수로 생성하기 arr = np.arange(10, 15) # numpy array로 리스트 생성 ser = pd.Series(arr) 2) 리스트를 사용해서 생성하기 snack = pd.Series(["포카칩", "새우깡", "포스틱", "홈런볼"]) 단, series에 다양한 데이터 타입(str, int 등)이 섞여있다면 object 타입으..
[Python] Pandas - 1. 기본개념, 파일 불러오기
2022. 10. 15. 10:37
Python/Pandas
파이썬에서 정말 정말 자주 사용하는 라이브러리 중 하나인 pandas에 대해 하나씩 배워보도록 하겠다. [판다스 공식문서] https://pandas.pydata.org/docs/reference/index.html 1. Pandas란? pandas는 행과 열 구조의 데이터 분석 도구로 두 가지 대표적인 자료 구조가 있다. 1) DataFrame: 행렬, 2차원 구조 2) Series: 벡터, 1차원 구조 2. 라이브러리 로드 import pandas as pd 판다스의 별칭은 주로 pd를 사용한다. 3. 파일 불러오고 저장하기 1) 엑셀 불러오기 pd.read_excel('파일명.xlsx') 2) CSV 파일 불러오기 pd.read_csv('파일명.csv') 파일명 뒤 확장자는 대소문자를 구분하니 참고..