Pandas에는 다양한 함수가 있습니다. 그중에서 활용도가 높은 함수 몇 가지를 알아보도록 하겠습니다.
CSV 파일 불러오기
df = pd.read_csv('tips.csv')
Jupyter Notebook을 사용하는 경우, 불러오고자 하는 CSV 파일이 Jupyter Notebook 파일과 같은 폴더에 있도록 해주세요.
df라고 이름을 지정하고 "tips"라는 csv 파일을 불러옵니다.
Transpose( ) 함수
df.describe()
df.describe().transpose()
transpose 함수를 이용하면 데이터의 행과 열을 바꿀 수 있습니다.
Sort_values( ) 함수
df.sort_values('tip')
sort_values 함수를 사용하면 특정 열을 기준으로 데이터를 정렬할 수 있습니다. 불러온 데이터의 "tip" 열을 기준으로 데이터가 정렬됐습니다. 내림차순으로 데이터를 정렬하려면 df.sort_values('tip', ascending = False)와 같이 ascending = False
를 추가 입력하면 됩니다.
df.sort_values(['tip','size'])
하나 이상의 열을 기준으로 데이터를 정렬할 수 있습니다. "tip"과 "size"를 기준으로 데이터를 정렬하는 경우 입력 순서를 기준으로 데이터를 정렬합니다.
Corr( ) 함수
df.corr()
corr 함수는 데이터 간의 상관관계를 분석합니다. 1에 가까울수록 관련성이 높습니다.
df[['total_bill','tip']].corr()
위의 코드와 같이 특정 열 데이터의 상관관계만 확인할 수 있습니다. "total_bill"과 "tip"의 상관관계는 의미가 있는 것 같습니다.
Idxmax와 Idxmin 함수
df['total_bill'].idxmax()
df['total_bill'].idxmin()
idxmax와 idxmin 함수는 각각 특정 열의 최댓값과 최솟값을 가진 행의 순서를 알려줍니다. df['total_bill'].idxmax()은 가장 큰 "total_bill" 값을 가진 170(행) 그리고 df['total_bill'].idxmin()은 가장 작은 "total_bill" 값을 가진 67(행)을 반환합니다.
Value_counts 함수
df['sex'].value_counts()
value_counts 함수를 사용하면 특정 열에 있는 데이터 항목의 수를 확인할 수 있습니다. 불러온 데이터의 "sex" 열에는 2개의 데이터 항목 (male과 female)이 있으며 각각의 총 수는 157과 87입니다.
Replace 함수
df.head()
Replace 함수를 사용하면 특정 열의 데이터를 변경할 수 있습니다. 불러온 데이터의 "Top Quality" 열 데이터를 변경해 보겠습니다.
df['Tip Quality'] = df['Tip Quality'].replace(to_replace='Other',value='Ok')
"Top Quality" 열에 있는 "Other"이라는 문자 데이터를 "OK"라는 문자 데이터로 변경하며 기존 "Top Quality" 열을 덮어씌웁니다.
Duplicated( )와 Drop_duplicates( ) 함수
duplicated 함수를 사용하면 중복값이 여부를 확인할 수 있으며 drop_duplicates 함수를 사용하면 중복값을 제거할 수 있습니다. 예시 데이터를 만들어 두 함수를 사용해 보겠습니다.
simple_df = pd.DataFrame([1,2,2],['a','b','c'])
simple_df
simple_df.duplicated()
임시로 만든 데이터를 보면 인덱스 b 행의 값은 2이며 이후 인덱스 c 값도 2이기 때문에 인덱스 c의 값이 중복 판정 (True) 됐습니다.
simple_df.drop_duplicates()
drop_duplicates 함수를 사용하여 중복값이 있는 c 행을 삭제합니다.
Between 함수
df[df['total_bill'].between(10,20,inclusive=True)]
between 함수를 사용하면 조건 범위를 설정하여 데이터를 필터링할 수 있습니다. 위의 코드는 "total_bill" 열의 값 중 그 값이 10과 20 사이인 행만 필터링한다는 의미입니다. "inclusive = true"를 설정해야 조건에 따라 필터링할 수 있습니다.
Nlargest와 Nsmallest 함수
df.nlargest(10,'tip')
nlargest 함수를 사용하면 특정 열 데이터 중 가장 큰 값을 가진 행을 지정한 수만큼 필터링할 수 있습니다. 위의 코드는 "tip" 열 데이터 중 가장 큰 값을 행 10개 필터링합니다.
df.nsmallest(10,'tip')
nsmallest 함수를 사용하면 특정 열 데이터 중 가장 작은 값을 가진 행을 지정한 수만큼 필터링할 수 있습니다. 위의 코드는 "tip" 열 데이터 중 가장 작은 값을 가진 행 10개를 필터링합니다.
'데이터 분석' 카테고리의 다른 글
Pandas 피벗 테이블 만들기 (2) | 2024.01.20 |
---|---|
Pandas Null값 관련 함수 (0) | 2024.01.20 |
Pandas Apply 함수 (2) (0) | 2024.01.13 |
Pandas Apply 함수 (1) (1) | 2024.01.13 |
Pandas 조건 필터링 (2) | 2024.01.12 |