본문 바로가기

데이터 분석

Pandas 활용도 높은 함수

반응형

 

Pandas 활용도 높은 함수

 

 

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 Apply 함수 (2)

이전 글에 이어 apply 함수에 대하여 더 알아보도록 하겠습니다. apply와 함께 자주 사용되는 lambda 함수와 lambda 함수 대신 사용할 수 있는 vectorize 함수도 함께 알아보도록 하겠습니다. 해당 글을 보

thespud.kr

 

 

Pandas Apply 함수 (1)

Pandas 함수 중 Apply 함수를 사용하면 새롭게 계산된 데이터 또는 조건에 따른 데이터를 가진 열을 쉽게 추가할 수 있습니다. CSV 파일 불러오기 df = pd.read_csv('tips.csv') Jupyter Notebook을 사용하는 경우,

thespud.kr

 

 

Pandas DataFrames 기본 Indexing (Rows)

파이썬을 사용하여 데이터를 불러오고 기본 Indexing을 활용하여 필요한 데이터를 추출하는 방법에 대해 알아보도록 하겠습니다. CSV 파일 불러오기 df = pd.read_csv('tips.csv') Jupyter Notebook을 사용하는

thespud.kr

 

반응형

'데이터 분석' 카테고리의 다른 글

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