40 Examples to Master Pandas (1) : 1번~10번
참고 자료 : https://towardsdatascience.com/40-examples-to-master-pandas-c69d058f434e
40 Examples to Master Pandas
A comprehensive practical guide
towardsdatascience.com
위 자료를 참고해 만들었습니다.
참고로 사용한 데이터는 다음과 같습니다.
https://www.kaggle.com/yoghurtpatil/direct-marketing
https://www.kaggle.com/heeraldedhia/groceries-dataset
1. Reading csv files
- read_csv 함수 사용해 pandas DataFrame 만들기
import numpy as np
import pandas as pd
marketing = pd.read_csv("DirectMarketing.csv")
groceries = pd.read_csv("Groceries_dataset.csv")
marketing.head()
groceries.head()
2. Changing data type with astype
- 날짜 같은 경우는 pandas의 datetime 함수를 이용해야하기 때문에 datetime 형식으로 저장되어야함
groceries.dtypes
- Date의 타입이 object다
- 이를 datetime 형식으로 바꿔주자
groceries["Date"] = groceries["Date"].astype("datetime64")
groceries.dtypes
3. Changing the date type with to_datetime
- to_datetime 함수로 날짜에 적절한 타입으로 변환할 수 있음
- 다만 astype 함수랑 살짝 syntax가 다름
groceries["Date"] = pd.to_datetime(groceries["Date"])
4. Parsing dates
- read_csv로 파일 읽을 때 날짜를 date 형식으로 할당시킬 수 있음
groceries = pd.read_csv("Groceries_dataset.csv", parse_dates=["Date"])
groceries.dtypes
5. Filtering with the isin method
- dataframe의 특정 값만 필터링
groceries[groceries.Member_number.isin([3737, 2433, 3915, 2625])].shape
- 해당 조건을 가진 데이터 개수는 126개
6. Tlide operator
- 물결표(~)
- "not"을 의미
groceries[~groceries.Member_number.isin([3737, 2433, 3915, 2625])].shape
7. Value counts with normalization
- 각 값이나 리턴된 series의 개수를 셈
- 파라미터에 normalize를 넣으면 백분율을 볼 수 있음
marketing.Catalogs.value_counts(normalize=True)
- 가장 많이 차지하는 Catalogs는 28.2%를 차지한 12
8. Setting a column as index
- Pandas는 dataframe의 index로 integer를 디폴트로 할당함
- 이를 set_index 함수로 바꿀 수 있음
- groceries dataframe의 index를 Date 피처로 할당하는 예시
groceries.set_index("Date", inplace=True)
groceries.head()
9. Resetting the index
- 행이 통째로 삭제되면 Pandas는 자동적으로 index를 다시 할당해주지 않음
- 2개의 dataframe이 합쳐져도 index 다시 할당해주지 않음
- 이 경우 만들어진 새로운 dataframe은 index를 다시 순서대로 할당해주어야 함
groceries.drop(1, inplace=True)
groceries.head()
groceries.reset_index(drop=True, inplace=True)
groceries.head()
10. The unique values
- unique 함수로 각 열에서 유일한 값 찾기
groceries["itemDescription"].unique()[:5]
- 5개만 출력