판다스(Pandas)

(6) 판다스(Pandas)란? - Renaming and Combining [Hellfer]

Hellfer 2024. 7. 27. 13:54
728x90

https://www.kaggle.com/code/residentmario/renaming-and-combining

 

Renaming and Combining

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

 

위의 글을 보고 참고하여 작성하였습니다.

 


 

rename() 함수는 인덱스 이름과 열 이름을 변경할 수 있습니다.

 

reviews 데이터프레임의 'points' 열의 이름을 'score'로 변경해 보겠습니다.

 

reviews.rename(columns={'points': 'score'})

 

 


 

인덱스(index) 또는 열의 키워드 매개변수를 각각 지정하여 인덱스 또는 열 이름을 변경할 수 있습니다.

 

일반적인 경우에는 파이썬(python)의 딕셔너리를 사용하는 게 간편합니다.

 

reviews.rename{index={0: 'firstEntry', 1: 'secondEntry'})

 

 


 

열 이름은 자주 변경할 수 있지만, 인덱스 값은 거의 변경하지 않는 경우에 set_index() 함수를 사용할 수 있습니다.

 

set_index() 함수는 데이터프레임의 열을 인덱스로 설정하는 함수입니다.

 

행(row) 인덱스와 열(columns) 인덱스 모두 고유한 이름 속성을 가질 수 있으며, rename_axis() 메서드를 사용하여 이름을 변경할 수 있습니다. 

 

reviews.rename_axis('wines", axis='rows'), rename_axis("fields", axis='columns')

 

 

reviews 데이터프레임의 행(row)의 인덱스 이름을 'wine'으로 변경하고 열(columns)의 인덱스 이름을 'fields'로 변경합니다.

 


 

데이터프레임(DataFrame)과 시리즈(Series)를 결합하기 위한 세 가지 함수는 concat(), join(), merge()가 있습니다.

 

이 중에서 concat() 함수는 데이터를 결합하는 가장 간단한 방법입니다.

 

서로 다른 데이터프레임(DataFrame) 또는 시리즈(Series) 객체에 동일한 데이터가 있을 때 유용합니다.

 

이는 국가나 연도 등의 기준으로 데이터가 분할되어 있고, 이를 하나의 데이터프레임(DataFrame)으로 결합할 수 있습니다.

 

canadian_youtube = pd.read_csv("../input/youtube-new/CAvideos.csv")
british_youtube = pd.read_csv("../input/youtube-new/GBvideos.csv")

pd.concat([canadian_youtube, british_youtube])

 

 

Youtube 동영상 데이터셋은 국가별로 분할되어 있습니다.

 

여러 국가의 데이터를 동시에 분석하기 위해, concat()을 사용하여 하나의 데이터프레임(DataFrame)으로 결합할 수 있습니다.

 


 

join() 함수는 복잡성 측면에서 concat()과 merge() 사이에 위치합니다.

 

join()을 사용하면 공통 인덱스를 가진 서로 다른 데이터프레임(DataFrame) 객체를 결합할 수 있습니다.

 

left = canadian_youtube.set_index(['title', 'trending_date'])
right = british_youtube.set_index(['title', 'trending_data'])

left.join(right, lsuffix= '_CAN', rsuffix='_UK')

 

 

캐나다와 영국에서 동일한 날짜에 트렌딩 된 동영상을 가져옵니다.

 

lsuffix='_CAN', rsuffix='_UK"는 중복된 열 이름을 구분하기 위해 사용됩니다.

728x90