1. 🐼Pandas란?
2. 다운로드 방법
- Anaconda distribution
- Pandas를 다운로드 받는 가장 쉬운 방법은 Anaconda distribution을 다운받는 것이다.
아나콘다 디스트리뷰션을 이용하면 따로 pandas를 따로 다운 받을 필요 없이 SciPy stack을 모두 다운 받을 수 있다. - Miniconda 3.
- 특정 패키지만을 다운받고 싶다면 miniconda도 추천한다. Conda라는 패키지 매니저를 통해 다운받아야 하는데 miniconda를 다운받고 실행하면 된다.
- Jupyter notebook 참고 문헌
//일반적인 경우 !pip3 install pandas //permission 에러의 경우 !pip3 install pandas --user
- 노트북에 jupyter notebook을 다운 받으면 된다. 후에 pandas를 import할때 오류가 난다면 아래의
코드를 입력하면 해결이 된다
3. Pandas의 특징
- Pandas는
- 서로 다른 타입의 열들로 이뤄진 표로 나타낸 데이터(tabular data)
- 정렬 혹은 정렬되지 않은 시계열 데이터(일정 시간에 대해 시간의 함수로 표현되는 데이터)
(time-series data) - 행 과 열을 가진 임의의 행렬 데이터
- 관찰, 수치 데이터 세트(분류될 필요가 없다)
위와 같은 데이터를 처리하는데 특화 되어있다.
- pandas의 모든 자료구조는 value-mutable(값이 변할 수 있다)하다.
4. Pandas 이용하는 법
- pandas 패키지를 load 하려면 패키지를 import 해야한다.
pandas 의 alias 는 pd 이다. 따라서 아래의 코드와 같이 pandas를 import하면 된다.
import pandas as pd
5. Pandas 실습
1) Pandas의 자료형
- 각 DataFramed 의 행(Column, 세로 줄)은 Series이다
- 하나의 행을 선택하는 것은 파이썬에서 Dictionary 값을 key로 선택 하는 것과 유사하다
- Pandas Series는 DataFrame중의 하나의 행으로 이루어져 있기 때문에 행 값이 없다.
- DataFrame, Series는 method를 활용해 다양한 기능을 구현할 수 있다.
다만 parentheses( )를 꼭 붙여야 한다. - 다양한 method가 있다
- max() : 최대 값을 반환한다.
- describe(): DataFrame의 수치데이터에 대한 간략한 개요를 보여준다.
2) Tabular data를 읽고 쓰는 방법
- Pandas 는
read_csv()
함수를 지원해서 css file 을 pandas DataFrame 으로 변환해준다.read_파일형식
을 활용하면 csv, excel, sql, json, parquet 등의 파일을 열 수 있다.
titanic = pd.read_csv("titanic.csv")
titanic
- DataFrame의 첫 N 행을 보고싶으면
head()
메서드를 이용해서 볼 수 있다. - DataFrame의 마지막 N 행을 보고싶으면
tail( )
메서드를 사용하면 된다.
titanic.tail(10)
- 열들의 데이터 타입이 알고싶다면 pandas의
dtypes
속성을 활용하면 된다.
titanic.dtypes
- pandas 에서는
to.파일명()
을 활용해서 데이터를 저장할 수 있다. 예를 들어,
titanic.to_excel('titanic.xlsx', sheet_name = 'passengers', index = False)
- 여기에서 to_excel() 메서드를 통해 데이터를 excel 파일로 저장했다.
저장 형식은 (파일명, sheet_name, index) 이다.- 파일명
sheet_name
= sheet 이름index
= False 를 통해 행 인덱스 값들이 스프레드시트에 저장되지 않았다.
read_파일명( )
형식을 활용해서 data를 DataFrame 으로 다시 만들 수 있다.info()
메서드를 활용해서 DataFrame 의 기술적인 정보를 확인 할 수 있다
3) DataFrame 의 부분 집합을 선택하는 방법
- 특정 열을 선택하는 방법
- 특정 열을 선택하고 싶다면
[열의 이름]
를 활용하면 된다. - DataFrame의 모든 열은 Series이다. 따라서 하나의 열을 선택하면 반환값은 Series 이다.
- DataFrame.shape 은 DataFrame 과 Series의 속성이다.
- 여러 개의 열을 선택하고 싶다면 열의 이름의 list 를
[ ]
안에 넣으면 된다. age_sex = titanic[['Age', 'Sex']]
- 특정 열을 선택하고 싶다면
- 특정 행을 선택하는 방법
- 조건을 통해서 특정 행을 선택하고자 하면
[ ]
안에 조건을 적으면 된다 above_35 = titanic[titanic["Age"] > 35]
- 조건 연산자( >, ==, ≠, <, ≤ 등의 연산자들) 는 boolean 값 들의 Series 이다.
이러한 Series는 DataFrame을[ ]
안에 넣어서 필터링하는데 사용한다. isin()
조건 함수를 사용하여 list에 포함된 값을 가지고 있는 행에 대해 참값을 반환한다.class_23 = titanic[titanic["Pclass"].isin([2,3])]
notna()
는 행의 값이Null
이 아닌 행들에 대해True
값을 반환해준다.
- 조건을 통해서 특정 행을 선택하고자 하면
- 특정 행과 열을 선택하는 방법
loc/iloc
연산자로 행과 열을 모두 선택할 수 있다.loc/iloc
연산자 안에 있는 값중콤마(,)
앞의 값은 원하는 행,콤마(,)
뒤의 값은 원하는 열이 들어간다.adult_names = titanic.loc[titanic["Age"]>35, "Name"]
loc[ , ]
에서콤마(,)
앞 뒤에는 하나의 레이블, 레이블들의 list, 레이블들의 slice, 조건 연산자,콜론(:)
(모든 열/행 의 값) 등이 올 수 있다.- 특정 행과 열의 값 중에서 일부가 필요하면
iloc
을 사용하면 된다. titanic.iloc[9:25,2:5]
'인공지능 > 인공지능 기초 개념' 카테고리의 다른 글
(3)-2 EDA 실습 (1) | 2024.03.15 |
---|---|
(4) EDA 필사 (0) | 2024.03.15 |
(3)EDA (0) | 2024.03.15 |
(2) 데이터 시각화 (1) | 2024.03.14 |
(1) Machine Learning (0) | 2024.03.14 |