#1 Weekly Paper _Q1(Pandas)

Heidi J.·2026년 2월 7일

Weekly_Paper

목록 보기
2/37
post-thumbnail

`Lieber zu spät als nie, doch lieber nie zu spät.

아예 안 하는 것보다 늦게라도 하는 게 낫지만, 안 늦는 게 가장 좋다.`

1. Pandas 공식문서

https://pandas.pydata.org/docs/getting_started/intro_tutorials/01_table_oriented.html

2. Pandas?

  • 관계형 또는 레이블이 된 데이터로 쉽고 직관적으로 작업할 수 있도록 설계 (표 형식의 데이터 처리)
    • 행과 열로 구성된 데이터를 다루는 것에 최적화
    • 정형 데이터
  • 빠르고, 유연한 데이터 구조를 제공
  • 어떤 언어로도 사용할 수 있는 가장 강력하고 유연한 오픈 소스 데이터 분석/조직 도구
  • 👇종류의 데이터에 적합한 분석 패키지
    • SQL 테이블 또는 Excel 스프레드 시트에서와 같은 열과 행으로 이루어진 테이블 형식 데이터
    • 정렬되고 정렬되지 않은 시계열 데이터
    • 다른 형태의 관찰/통계 데이터 세트
  • numpy를 기반으로 제작됨
  • csv 파일
    • comma-separated values
    • 데이터를 쉼표(,)로 구분한 텍스트 파일
    • 행과 열 구조로 데이터를 저장하면서 가벼움

3. Pandas의 alias 지정

import pandas as pd

4. 시리즈(series)와 데이터프레임(DataFrame)

판다스는 파이썬의 수 많은 라이브러리 가운데 레이블 형태의 자료를 수집하고 정리하는데 매우 유용한 도구이다 판다스의 두 가지 대표적인 자료구조가 시리즈(series)와 데이터프레임(DataFrame)이다 시리즈와 데이터프레임은 numpy의 1차원과 2차원 array와 매우 유사하다

4.1. 시리즈(series)

- 판다스의 시리즈는 1차원 배열로 아래의 특징을 가짐
	- 데이터를 담는 **차원 배열 구조**를 가짐
    - 인덱스(index) 사용 가능
    - 데이터 타입을 가짐(dtype)

numpy와 pandas 패키지 모두 import

import numpy as np
import pandas as pd

series를 정의할 때, pd.Series()함수를 이용하는데 python의 list나 numpy의 array가 인자로 입력됨

obj = pd.Series([4, 7, -5, 3])
obj

output:

  • 출력값을 확인해보면 index와 values가 동시에 출력되는 것을 확인

  • 리스트의 성분 갯수 = index 갯수

    # series변수.values 호출 -> 값만 따로 array됨
    obj.values
    array([ 4,  7, -5,  3])
    # .index -> index 범위값만 출력
    obj.index
    RangeIndex(start=0, stop=4, step=1)
    # .dtypes -> 데이터형 확인
    obj.dtypes
    dtype('int64')

    특징: - 값과 함께, 원하는 index를 입력할 수 있다는 것❗

    - pd.Series() 인자에는 list/np.array()/파이썬의 딕셔너리 가능

    4.2. 데이터프레임(DataFrame)

  • 파이썬의 딕셔너리 형태로 데이터를 정의한 후, DataFrame을 정의

  • numpy의 array도 들어갈 수 있음

    1. 딕셔너리 형태로 데이터를 정의
      - {"키값": value}에서 values 자리에 [리스트] 형태로 입력
    • 이렇게 하면, 키값들의 갯수가 열(컬럼)의 갯수가 됨
    • 즉, 리스트의 성분들의 갯수는 각 행의 갯수(index)를 담당
    1. 만들어진 딕셔너리를 pd.DataFrame()인자에 넣어줌
      data = {
         "제품이름": ["와퍼", "치즈와퍼", "더블치즈와퍼"],
         "칼로리": [600, 800, 1000],
         "단백질": [10, 20, 30]
      }
      pd.DataFrame(data)
output: ![](https://velog.velcdn.com/images/h2lloheidi/post/5a9f193f-76b2-46c2-9ed9-1a00e15b744c/image.png)
- 데이터를 표 형식으로 예쁘게 출력 🌻
- 세로: index(리스트 성분의 갯수), 가로: 키값(columns)들이 둘러싸고 있는 표 형태의 데이터
	- 키값이 자동으로 columns의 이름, 키값의 갯수가 열의 갯수가 됨
    - 밸류값인 리스트의 성분갯수가 행의 index를 결정

- `data` 변수를 python에서 출력해보면
```python
{'제품이름': ['와퍼', '치즈와퍼', '더블치즈와퍼'],
 '칼로리': [600, 800, 1000],
 '단백질': [10, 20, 30]}

위와 같이 날 것 그대로의 데이터가 출력되는 것을 확인한 수 있음 🥩

5. 데이터 불러오기

  • 기본 구문
pd.read_csv("데이터가 있는 경로 붙여넣기")

5.1. 데이터 탐색

5.1.1. 차원 (df.ndim)

  • ndim 메서드는 데이터의 차원(축의 수)를 반환
  • Series일 경우 1차원, DataFrame이면 2차원 => 데이터의 종류 파악에 사용

5.1.2. 차원의 형태 (df.shape)

  • shape 메서드는 DataFrame 객체의 차원의 형태(레이블 정보)를 튜플 형식으로 반환
    - 즉, 3행 2열의 객체일 경우 (3, 2)를 반환

5.1.3. 상단 n행 인덱싱 (df.head())

  • head 함수는 DataFrame 객체를 위에서부터 n열 반환하는 함수 (default: 5)

5.1.4. 하단 n행 인덱싱 (df.tail())

  • tail 함수는 DataFrame 객체를 아래에서부터 n열 반환하는 함수 (default: 5)

5.1.5. 전체 구조 요약 (df.info())

  • info 함수는 데이터의 전체 구조 요약을 출력
  • dtypes도 포함되어 출력: object: 문자열(str) 데이터, float/int: 숫자형 데이터

5.1.6. 통계 요약 (df.describe())

  • describe 함수는 통계 요약 정보를 출력
  • 수치형 데이터만 출력❗

6. 조건에 따른 데이터 필터링

주요 필터링 방법

  • 기본 필터링: df[df["컬럼"] > 값]
  • 다중 조건(and/or): df[(조건1) & (조건2)], df[(조건1) | (조건2)]
    - and: &, or: |

by Heidi J. 꼬꼬마 데분가💜

profile
꼬꼬마 데분가😎

0개의 댓글