본문 바로가기

파이썬(Python)/판다스(Pandas)

파이썬의 판다스 데이터프레임: 초보자용

엑셀처럼 쓰는 라이브러리라 이해하면 편하다.

 

엑셀은 1부터 시작해 1,2,3, 으로 이어지나, 판다스 인덱스는 0부터 시작해 0,1,2,3, 으로 이어진다.

표기도 인덱스와 혼동을 우려해 0행, 0열 등의 표기로 시작한다.

 

데이터프레임 만들기

더보기
  • 리스트로 직접 입력할 때는 [ 0행, 1행, 2행, 3행, ...] 형태이다. (변수에 저장해서 그 변수를 집어넣을 때도 같다.)
  • n행은 [n행0열, n행1열, n행2열, ...] 형태로 집어넣을 수 있고, 값만 넣으면 n행0열로 인식한다.
  • 리스트 또는 튜플 형태 모두 상관없고 섞어서 써도 된다. (직접 입력할 때만 가능. 변수에 저장할 때는 안된다.)
  • dictionary(딕셔너리) 형태로 넣을 수도 있다. 이 때는 열 인덱스 지정이 가능하다. 조금 뒤에 나올 '데이터프레임의 인덱스 바꾸는 법'에서 보여준다.

 


 

길이가 다른 리스트들을 넣으면, 자동으로 최대길이를 인식하고 없는칸에 None(빈값)을 집어넣고 행렬로 만든다.

넘파이를 다루기 전에 이렇게 판다스로 행렬을 만들어 넘기면, 리스트 길이문제로 생기는 오류가 해결된다.


 

list_of_list 형식과, 이것으로 만든 pandas_dataframe 형식에서, 셀 위치를 찾는법이 약간 다르다. (편의상 list_of_list 형식을 행렬로 여긴다.)

  • PandasDataFrame 형식: 열 번호 먼저, 그리고 나서 행 번호
  • ListOfList 형식: 행 번호 먼저, 그리고 나서 열 번호

경고: 쉬워 보이지만, 이 방법은 사용을 하지 않는 것이 좋다. 귀찮아도 전용 문법으로 부르기 바란다.

그러나 이 방법으로 셀 값을 찾아내는 것은 추천하지 않는다. 전용 문법과 순서가 다른데다, 안 작동하는 프레임 생성법도 있기 때문이다.

데이터프레임의 인덱스 바꾸는 법

더보기

여러 방법이 있는데, 나는 이 방법이 제일 편리했다.

행 인덱스, 열 인덱스로 설정할 리스트를 만들어 대입한다.

  • index= [행 인덱스 == row index]
  • columns = [열 인덱스 == column index]

 

만들 때부터 바로 바꿔넣는 방법이 있다.

 

딕셔너리 자료형식은 열 인덱스를 바로 정하고 넣을 수 있다.

 

딕셔너리 만들때 열 인덱스 정해서 넣어두고, 데이터프레임으로 가져올 때 행 인덱스만 더 넣는다.

 


특정 셀의 위치를 찾는 방법

여러 가지 문법이 있다.

다음 글을 참고해서 원하는 방식으로 들어간다.

나는 대체로 숫자로 찾는게 좋았다.

https://sparkbyexamples.com/pandas/pandas-get-cell-value-from-dataframe/

 

Pandas - How to Get Cell Value From DataFrame?

You can use DataFrame properties loc[], iloc[], at[], iat[] and other ways to get/select a cell value from a Pandas DataFrame. Pandas DataFrame is

sparkbyexamples.com