판다스로 데이터 다루기
판다스는 Python의 데이터 분석 라이브러리로, 데이터를 효과적으로 처리하고 분석하는데 필요한 다양한 기능을 제공합니다. 몇 가지 유용한 기능들을 살펴보겠습니다.
1. 문자열 처리하기
Bash
df['name_upper'] = df['name'].str.upper()
print(df[['name', 'name_upper']])
Output:
Code
name name_upper
0 John JOHN
1 Anna ANNA
2 Peter PETER
3 Linda LINDA
4 Justin JUSTIN
2. 날짜 형식 다루기
Bash
df['birthdate'] = ['2022-06-15', '2023-04-28', '2024-12-01', '2025-01-14']
df['birthdate'] = pd.to_datetime(df['birthdate'])
df['year'] = df['birthdate'].dt.year # 연도만 추출하기, 상황에 따라 년,월,일 추출 모두 가능 합니다.
# dt.year → 연, dt.month →월 dt.day → 일 dt.hour → 시, dt.minute → 분, dt.second → 초
print(df[['name', 'birthdate', 'year']])
Output:
Code
name birthdate year
0 John 2022-06-15 2022
1 Anna 2023-04-28 2023
2 Peter 2024-12-01 2024
3 Linda 2025-01-14 2025
3. 조건에 따른 값 할당하기
Bash
df['adult'] = df['age'].apply(lambda x: 'Yes' if x >= 18 else 'No')
print(df[['name', 'age', 'adult']])
Output:
Code
name age adult
0 John 28 Yes
1 Anna 22 Yes
2 Peter 35 Yes
3 Linda 58 Yes
4 Justin 15 No
4. 그룹화 및 집계하기
Bash
df['group'] = ['A', 'B', 'A', 'B']
grouped = df.groupby('group').agg(total_age=('age', 'sum'))
print(grouped)
Output:
Code
total_age
group
A 63
B 80
5. 데이터 피벗하기
Python
pivot_df = df.pivot(index='name', columns='group', values='age')
print(pivot_df)
Output:
Code
group A B
name
Anna NaN 22.0
John 28.0 NaN
Linda NaN 58.0
Peter 35.0 NaN