본문 바로가기
카테고리 없음

[파이썬] pandas 기능 함수 정리

by 퍼포먼스마케팅코더 2023. 1. 17.
반응형

pandas 패키지 기능 함수 정리 

 

파이썬 pandas 패키지 내 vlookup 같은 기능 :

 

Pandas에서는 merge() 함수를 사용하여 vlookup 기능을 구현할 수 있습니다. 예를 들어, 두 개의 데이터프레임 df1과 df2가 있고, df1에서 'key' 열과 df2에서 'key' 열이 같은 행끼리 매칭되도록 하려면 다음과 같이 하면 됩니다.

 
merged_df = pd.merge(df1, df2, on='key')

이렇게하면 df1과 df2의 'key' 열이 같은 행끼리 매칭되며, 결과로 합쳐진 데이터프레임이 반환됩니다.

 

pandas 의 결과값을 dataframe 형식으로 보기

 

Pandas를 사용하여 데이터를 처리한 후 결과를 화면에 출력하려면 해당 데이터프레임을 호출하면 됩니다.

merged_df = pd.merge(df1, df2, on='key') print(merged_df)

위와 같은 코드를 실행하면 화면에 합친 dataframe이 출력됩니다.

또한 pandas에서는 head(), tail() 함수를 사용하여 특정 갯수만큼의 행만 출력할 수 있습니다.

print(merged_df.head(10)) #앞의 10개 행만 출력 print(merged_df.tail(5)) #뒤의 5개 행만 출력

위와 같이 사용 하시면 해당 행만 출력됩니다.

 

 

 

pandas 행 열 변환

 

Pandas에서 행과 열을 변환할 수 있는 함수는 transpose()와 melt() 함수가 있습니다.

transpose() 함수는 데이터프레임을 행과 열을 바꾸는 기능을 합니다.

 
 
transposed_df = df.transpose()

melt() 함수는 데이터프레임을 "녹이는" 기능을 합니다. 즉, 여러 개의 열을 하나의 열로 변환하는 것입니다.

melted_df = df.melt(id_vars=["column1", "column2"], value_vars=["column3", "column4"])
 

위와 같이 id_vars 인자로 열 이름을 지정하면, 해당 열은 유지되고, value_vars 인자로 열 이름을 지정하면, 해당 열은 하나의 열로 변환됩니다.

또한 pivot() 함수를 사용하여 특정 열을 행 인덱스로 설정하고, 다른 열을 열 인덱스로 설정하여 데이터를 재구성 할 수 있습니다.

pivoted_df = df.pivot(index='column1', columns='column2', values='column3')

위와 같이 사용 하시면 column1을 행 인덱스로, column2를 열 인덱스로, column3을 값으로 하여 데이터를 재구성 합니다.

 

 

파이썬 에러 cannot convert the series to <class 'int'>

 

Pandas에서 "cannot convert the series to <class 'int'>" 오류는 특정 열을 int 형으로 변환할 수 없을 때 발생하는 오류입니다. 이러한 오류는 변환하려는 열에 값이 숫자가 아닌 문자열, 공백, NaN 등이 포함되어 있을 때 발생합니다.

해결 방법으로는 다음과 같은 것들이 있습니다.

  1. 값이 숫자가 아닌 문자열, 공백, NaN등을 정제하는 것
  2. 변환 전에 해당 열을 확인하는 것
  3. pd.to_numeric() 함수를 사용하여 변환, 그리고 errors='coerce' 파라미터를 설정하여 숫자가 아닌 값은 NaN으로 변환

예를들어,

df['column_name'] = pd.to_numeric(df['column_name'], errors='coerce')​

이렇게 사용 하시면 column_name 열을 int로 변환 할 수 있습니다.

 

 

pandas 컬럼 삭제

 

Pandas에서 데이터프레임에서 특정 열을 삭제하려면 drop() 함수를 사용할 수 있습니다.

df = df.drop(columns=['column_name'])​

위와 같이 사용 하시면 column_name 열을 삭제 할 수 있습니다. 또는

df.drop(columns=['column_name'], inplace=True)​

위와 같이 inplace=True 를 추가하면 해당 열을 삭제 하면서 원본 데이터프레임도 직접 수정할 수 있습니다.

만약 특정 조건을 만족하는 행만 삭제하려면, df.drop() 함수를 사용하되, 조건을 추가해야 합니다. 예를들어, 값이 0인 행을 삭제하려면

df = df[df.column_name != 0]​

이렇게 사용 하시면 column_name이 0인 행을 삭제 할 수 있습니다.

 

 

pandas 숫자 천단위 콤마

 

Pandas에서 숫자 천단위 콤마를 표시하려면 다음과 같은 방법을 사용할 수 있습니다.

  1. applymap() 함수를 사용하여 숫자 천단위 콤마를 표시하는 함수를 적용
df = df.applymap('{:,}'.format)​
  1. style.format() 함수를 사용하여 숫자 천단위 콤마를 표시
df.style.format('{:,}')​

위와 같이 사용하면 데이터프레임에 있는 숫자들을 천단위 콤마로 표시할 수 있습니다. 만약 특정 열만 천단위 콤마로 표시 하고 싶다면, 다음과 같이 사용 하시면 됩니다.

df['column_name'] = df['column_name'].apply(lambda x: '{:,}'.format(x))​

위와 같이 사용 하시면 column_name 열만 천단위 콤마로 표시 할 수 있습니다.

반응형

댓글