Pandas 기초 - 데이터 프레임 개조하기(칼럼명 변경, 정렬, 결합)
지난 포스팅()에서는 Pandas 라이브러리를 활용하여 데이터프레임 만들기, 조회하기를 알아보았습니다. 이번 포스팅에서는 만들어진 데이터프레임을 활용하여 칼럼명 변경, 정렬, 결합 그리고 칼럼 순서 변경에 대해 알아보겠습니다.
rename : 칼럼명 변경
특정 칼럼의 이름을 변경하기 위해 rename()을 사용합니다. 여기서는 Math 칼럼의 이름을 MATH로 변경하였습니다.
print(grades.columns)
grades.rename(columns = {'Math':'MATH'}, inplace = True)
print(grades.columns)
Index(['Math', 'Science', 'English', 'History'], dtype='object')
Index(['MATH', 'Science', 'English', 'History'], dtype='object')
sort_values : 칼럼 정렬
지정된 칼럼을 기준으로 오름차순/내림차순 정렬을 하고 반환합니다.
grades.sort_values('Math') # 오름차순 정렬
grades.sort_values('Math', ascending = False) # 내림차순 정렬
concat : 데이터 프레임 결합
데이터 프레임을 아래로 이어붙이기 위해 임의의 데이터 프레임 grade2를 생성하였습니다.
grades2 = pd.DataFrame({'Math' : [77,55,93,76],
'Science' : [88,60,90,74],
'English' : [84,76,66,90],
'History' : [77,69,92,81]})
grades2
grades와 grades2를 행결합하기 위해 concat()를 사용합니다. axis=0은 행을 기준으로 결합한다는 것을 의미합니다.
pd.concat([grades, grades2], axis=0, ignore_index=True)
열결합은 어떻게 할까요? axis=1을 지정해주면 됩니다.
grades3 = pd.DataFrame({'Korean' : [90,74,66,82,84,79,92,88]})
pd.concat([grades, grades3], axis=1)
다음과 같이 칼럼명과 값을 지정하여 열을 추가할 수도 있습니다.
grades['Student'] = ['Tom', 'Jane', 'Mike', 'Jason', 'Kim', 'Stephanie', 'Mary', 'Jack']
grades['Gender'] = ['M','F', 'M', 'M', 'F', 'F', 'F', 'M']
grades['Class'] = ['A', 'A', 'C', 'B', 'C', 'A', 'B', 'C']
grades
칼럼 순서 변경
원하는 순서대로 칼럼명을 담은 리스트를 만든 후, 다음과 같은 과정을 통해 칼럼 순서를 변경할 수 있습니다.
cols = ['Student', 'Class', 'Gender', 'Math', 'Science', 'English', 'History']
grades = grades[cols]
grades
참고자료
pandas - Python Data Analysis Library
pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!
pandas.pydata.org
https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf
https://towardsdatascience.com/pandas-cheat-sheet-4c4eb6802a4b