판다스 데이터프레임은 데이터를 변형하고 조작하는 다양한 방법을 제공합니다.
이를 통해 데이터프레임 구조를 변경하거나, 새로운 열을 추가하고, 행을 삭제하며, 데이터를 변환하고 정제할 수 있습니다.
다음은 판다스 데이터프레임을 변형하는 일반적인 방법과 예제입니다.
데이터프레임 열 추가 및 삭제
열 추가
df['새로운 열'] = 값
을 사용하여 데이터프레임에 새로운 열을 추가할 수 있습니다.
예를 들어, 다음은 ‘age’ 열을 추가하는 예제입니다.
import pandas as pd
data = {'name': ['John', 'Emma', 'Peter'],
'gender': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
df['age'] = [25, 28, 30]
print(df)
출력 결과
name gender age
0 John Male 25
1 Emma Female 28
2 Peter Male 30
판다스 데이터프레임에 열을 추가하는 방법은 다양합니다.
열을 추가하기 위해서는 새로운 열의 이름과 값을 지정해야 합니다.
아래 예제들을 통해 열 추가 방법을 더 살펴보겠습니다.
예제 : 단일 값으로 열 추가하기
import pandas as pd
data = {'Name': ['John', 'Emma', 'Peter'],
'Gender': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
# 'Age' 열 추가
df['Age'] = 25
print(df)
출력 결과
Name Gender Age
0 John Male 25
1 Emma Female 25
2 Peter Male 25
예제 : 리스트로 열 추가하기
import pandas as pd
data = {'Name': ['John', 'Emma', 'Peter'],
'Gender': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
# 'Age' 열 추가
age_list = [25, 28, 30]
df['Age'] = age_list
print(df)
출력 결과
Name Gender Age
0 John Male 25
1 Emma Female 28
2 Peter Male 30
예제 : 다른 열을 기반으로 계산하여 열 추가하기
import pandas as pd
data = {'Name': ['John', 'Emma', 'Peter'],
'Gender': ['Male', 'Female', 'Male'],
'Age': [25, 28, 30]}
df = pd.DataFrame(data)
# 'Age_plus_10' 열 추가 (기존 'Age' 열의 값에 10을 더함)
df['Age_plus_10'] = df['Age'] + 10
print(df)
출력 결과
Name Gender Age Age_plus_10
0 John Male 25 35
1 Emma Female 28 38
2 Peter Male 30 40
예제 : 함수를 활용하여 열 추가하기
import pandas as pd
data = {'Name': ['John', 'Emma', 'Peter'],
'Gender': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
# 함수를 정의하여 'Age' 열 추가
def calculate_age(year):
current_year = 2023
return current_year - year
df['Age'] = df['Name'].apply(lambda x: calculate_age(1990))
print(df)
출력 결과
Name Gender Age
0 John Male 33
1 Emma Female 33
2 Peter Male 33
열 삭제
df.drop('열 이름', axis=1)
을 사용하여 데이터프레임에 열을 삭제할 수 있습니다.
예를 들어, ‘age’ 열을 삭제하는 예제입니다.
df = df.drop('age', axis=1)
print(df)
출력 결과
name gender
0 John Male
1 Emma Female
2 Peter Male
데이터프레임 행 추가 및 삭제
행 추가
df.loc[인덱스] = 값
을 사용하여 데이터프레임에 새로운 행을 추가할 수 있습니다.
예를 들어, 다음은 새로운 행을 추가하는 예제입니다.
new_row = {'name': 'Alex', 'gender': 'Male'}
df.loc[3] = new_row
print(df)
출력 결과
name gender
0 John Male
1 Emma Female
2 Peter Male
3 Alex Male
행 삭제
df.drop(인덱스)
를 사용하여 데이터프레임의 행을 삭제할 수 있습니다.
예를 들어, 인덱스 2에 해당하는 행을 삭제하는 예제입니다.
df = df.drop(2)
print(df)
출력 결과
name gender
0 John Male
1 Emma Female
3 Alex Male
데이터 변환
열 변환
df['열 이름'] = df['열 이름'].apply(변환 함수)
을 사용하여 데이터프레임의 열 값을 변환할 수 있습니다.
예를 들어, ‘age’ 열의 값을 10을 곱하는 예제입니다.
df['age'] = df['age'].apply(lambda x: x * 10)
print(df)
출력 결과
name gender age
0 John Male 250
1 Emma Female 280
3 Alex Male 300
조건에 따른 값 변환
df.loc[조건, '열 이름'] = 변환 값
을 사용하여 특정 조건에 따라 값의 일부를 변환할 수 있습니다.
예를 들어, ‘age’ 열에서 250보다 작은 값을 0으로 변환하는 예제입니다.
df.loc[df['age'] < 250, 'age'] = 0
print(df)
출력 결과
name gender age
0 John Male 0
1 Emma Female 280
3 Alex Male 300
이 외에도 판다스는 데이터프레임을 다양한 방법으로 변형할 수 있는 함수와 메서드를 제공합니다.
데이터의 정렬, 그룹화, 결측치 처리, 피벗 테이블 생성 등 다양한 작업을 수행할 수 있습니다.
이러한 기능들은 데이터 처리와 분석 작업에서 유용하게 활용됩니다.