Python

파이썬 기초 - 02_pandas_Series

Black940514 2024. 8. 27. 11:08

 

Pandas

  • Pandas가 메인으로 데이터를 핸들링 할때 주로 사용하는 패키지
  • 최근걸로 필터링하고 사용해라
  • pandas 자료형 : Seires, DataFrame
    • 1차원 : Series
    • 2차원 : DataFrame
    • 3차원 : Pannel
    • 내가 처리할 자료들이 어떤 형식인지
  • 1D 을 표현하는 자료형 : Series
  • → 직접적으로 사용할 일은 거의 없음!!!
  • Pandas를 개발한 사람들은 “차원”을 중심으로 여러 자료형!!!
  • 1차원 벡터 → Series type
  • 2차원 행렬 → DataFrame 자주 사용
  • 3차원 텐서 → Pannel Type

동영상은 4차원의 데이터 → 전통적인 머신러닝의 한계

차원축소가 필요함 → 데이터가 뭉개질수도 있음 → 잘 이용해라

  • 특징 : 인덱스를 내가 원하는 대로 ㅏㅁㄴ들 수 있음!
    • 원하는 정보로 접근도 가능함
    • 왜 굳이???
  • Pandas의 개발 히스토리
    • 파이썬으로 금융 데이터 처리하고 싶은데
    • 언제, 얼마,
    • 장이 안열리는 날도 있음→ 날짜 중심의 데이터가 빵꾸
    • 날짜를 다이렉트로 찾아야 될때도 있음
    • 내가 원하는 것들도 컨트롤 하고 싶다
    • 값에 직접 접근하고 싶다.
  • 단점도 존재한다 → 시간 숫자 텍스트,,,,,,속도가 느림
  • →적당한 사이즈의 핸들링에는 매우 편함
  • 큰 사이즈, 실시간 대용량 대응을 못함

ex) 삼성전자 주가 데이터를 처리하고 싶다

종가 1개만 생각하고,

80000, 83000, 79000, 82000,

→ 1차원 가격들만 모아둘 수 있는 (리스트, array,,,etc)

오늘 가격은 얼마?? → -1 인덱스

지난주 화욜은 얼마??

데이터 전처리의 기본은 에러가 아니라 내가 원하는 대로 됐냐

쌩 파이썬의 Dict와 ↔ Pandas와 유사함

⇒ 데이터 수집에서 서로 상호보완적인 관계

그래서 Dict로 데이터를 수집하고 한큐에 pandas로 변환하는 식으로 하기도 함

numpy의 기본적인 벡터 연산의 특징

→ 단순 순서가 중심의 벡터 연산이 아니라

index 중심의 벡터 연산으로 동작을 함

pandas에서는 index에 대해서는 대충 OR 처리하는 경우들이 있음

→ 원하지 않은 row

참고) 결측치 데이터에 대한 처리!!

→ 자주 사용되는 메서도

  • .isnull() : 결측값이냐? T/F
  • .notnull() : 정상값이냐? T/F

pandas는 FM적으로 명시적으로 바라보는 방법을 만들어 둠

값에 대한 접근을 바라보는 관점 : 1개 값 접근 vs 여러개 값

  • 1개 값에 접근
    • at : 내가 만든 인덱스로 1개 값 접근!!
    • iat : 태생적 정수 인덱스 1개 값 접근!!
  • 여러개 값에 접근
    • loc : 내가 만든 인덱스로 여러개 값 접근
    • iloc : 태생적 정수 인덱스 여러개 값 접근

참고) 수치연산을 하는 numpy를 포함 ⇒ 간단한 연산을 내포!!

정리

쌩 파이썬의 리스트 → numpy array → pandas Series

1D, index(정수, 내가 만든거 둘다 가능)

at/iat/loc/iloc

벡터연산을 기본내포(index중심)

 

 

 

'Python' 카테고리의 다른 글

파이썬 기초 - json  (0) 2024.08.27
파이썬 기초 - 06_리스트  (0) 2024.08.23
파이썬 기초 - 05_범위(in_out)  (0) 2024.08.21
파이썬 기초 - 04_Dictionary  (0) 2024.08.21
파이썬 기초 - 03_리스트필터링  (0) 2024.08.19