판다스(pandas) 데이터 분석 라이브러리

2023. 10. 12. 08:24·Python/pandas

판다스(pandas) 데이터 분석 라이브러리

판다스는 데이터 처리와 분석을 위한 파이썬 라이브러리로, 특히 테이블 형식의 데이터나 시계열 데이터를 다루기에 매우 유용합니다.

주요 기능

  1. DataFrame: 2차원 라벨링된 데이터 구조. 엑셀의 스프레드시트나 SQL의 테이블 같은 형태.
  2. Series: 1차원 라벨링된 배열.
  3. 데이터 입출력: 다양한 파일 형식(CSV, Excel, SQL 등)의 데이터를 불러오고 저장하는 기능.
  4. 데이터 정제: 결측치 처리, 중복 처리, 데이터 변환 등의 기능.
  5. 데이터 필터링 및 정렬: 조건에 따른 데이터 필터링, 정렬 기능.
  6. 통계 및 집계: 평균, 중앙값, 최대값, 최소값 등의 통계값 계산 및 데이터 집계 기능.
  7. 데이터 병합 및 조인: 여러 데이터셋의 병합 및 조인 기능.
  8. 시계열 데이터 처리: 날짜 및 시간 데이터의 처리 및 변환 기능.

예제

1. DataFrame 생성하기


import pandas as pd
data = {
    'name': ['John', 'Anna', 'Peter', 'Linda'],
    'age': [28, 22, 35, 58],
    'city': ['New York', 'Paris', 'Berlin', 'London']
}
df = pd.DataFrame(data)
print(df)
    name  age      city
0   John   28  New York
1   Anna   22     Paris
2  Peter   35    Berlin
3  Linda   58    London

2. CSV 파일에서 데이터 불러오기


df = pd.read_csv('filename.csv')
print(df.head())
   column1  column2  column3
0      val1     val2     val3
1      val4     val5     val6
...

3. 결측치 처리하기


df.fillna(0, inplace=True)

4. 데이터 필터링


filtered_df = df[df['age'] > 30]
print(filtered_df)
    name  age    city
2  Peter   35  Berlin
3  Linda   58  London

5. 데이터 정렬하기


sorted_df = df.sort_values(by='age', ascending=False)
print(sorted_df)
    name  age      city
3   Linda   58    London
2  Peter   35    Berlin
0   John   28  New York
1   Anna   22     Paris

6. 통계값 계산하기


mean_age = df['age'].mean()
print(mean_age)

# 35.75

7. 데이터 병합하기


df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['A', 'B', 'D'], 'value2': [4, 5, 6]})
merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)
  key  value1  value2
0   A       1       4
1   B       2       5

8. 데이터 중복 제거하기


df = pd.DataFrame({
    'A': ['one', 'one', 'two', 'two', 'two', 'three', 'four'],
    'B': [1, 1, 2, 2, 2, 3, 4]
})
no_duplicates_df = df.drop_duplicates()
print(no_duplicates_df)
       A  B
0    one  1
2    two  2
5  three  3
6   four  4

9. 조건에 따른 데이터 변환하기


df['age_group'] = df['age'].apply(lambda x: 'young' if x < 30 else 'old')
print(df)
     age age_group
0     25     young
1     45       old
2     30       old
...

10. 그룹별 통계값 구하기


grouped = df.groupby('city')
mean_values = grouped['age'].mean()
print(mean_values)
city
Seoul       32.5
Busan       31.0
Daegu       29.0

11. 시계열 데이터 다루기


date_rng = pd.date_range(start='2022-01-01', end='2022-12-31', freq='M')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0, 100, size=(len(date_rng)))
print(df)
        date  data
0 2022-01-31    45
1 2022-02-28    23
...

마치며

판다스는 파이썬에서 데이터 분석을 위해 제공하는 도구입니다. 판다스를 사용하면 대규모의 데이터를 효과적으로 처리할 수 있게 됩니다. 위의 예제들은 기본적인 기능들만을 다루고 있으므로, 판다스의  더 많은 기능을 알아보시려면 공식 문서나 다른 참고자료를 통해 꾸준히 학습하는 것이 중요합니다. 아래 공식링크에 들어가서 한번 봐보세요 :)

참고자료

판다스 공식 문서

저작자표시 비영리 변경금지 (새창열림)
'Python/pandas' 카테고리의 다른 글
  • [Pandas] 판다스 Cut 함수로 데이터 구간 나누기(설명 및 예시)
  • 판다스 Stack 함수로 데이터 만들기
  • [Python] 파이썬 Apply Lambda와 For문의 효율성 비교
  • 판다스(Pandas)로 데이터 다루기
hyunicecream
hyunicecream
안녕하세요. 여러가지 정보를 통해 조금이나마 도움이 되고자 시작하게 되었습니다.
  • hyunicecream
    Café
    hyunicecream
  • 홈
  • 포스팅 카테고리

    • 분류 전체보기
      • 생성형 AI
        • ChatGPT
        • Claude AI
        • MS Copilot
        • Perplexity
        • 생성형 AI 정보
        • 프롬프트 작성 가이드
        • AI 활용기
      • Notion
      • 업무 생산성
      • Python
        • pandas
      • 머신러닝
      • 딥러닝
      • Terminal
      • SQL
        • Postgre SQL
      • 여행정보
        • 국내여행
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hyunicecream
판다스(pandas) 데이터 분석 라이브러리
상단으로

티스토리툴바