엑셀처럼 쓰는 라이브러리라 이해하면 편하다.
엑셀은 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(딕셔너리) 형태로 넣을 수도 있다. 이 때는 열 인덱스 지정이 가능하다. 조금 뒤에 나올 '데이터프레임의 인덱스 바꾸는 법'에서 보여준다.
![](https://blog.kakaocdn.net/dn/bTUcyV/btrT4Jqv0Ru/fuxgyL4xcjTQghub4OjQ81/img.png)
길이가 다른 리스트들을 넣으면, 자동으로 최대길이를 인식하고 없는칸에 None(빈값)을 집어넣고 행렬로 만든다.
넘파이를 다루기 전에 이렇게 판다스로 행렬을 만들어 넘기면, 리스트 길이문제로 생기는 오류가 해결된다.
![](https://blog.kakaocdn.net/dn/l9H5L/btrT6dLdy7f/Wb2QnaJkx3VtGtBGUhd4vK/img.png)
list_of_list 형식과, 이것으로 만든 pandas_dataframe 형식에서, 셀 위치를 찾는법이 약간 다르다. (편의상 list_of_list 형식을 행렬로 여긴다.)
- PandasDataFrame 형식: 열 번호 먼저, 그리고 나서 행 번호
- ListOfList 형식: 행 번호 먼저, 그리고 나서 열 번호
경고: 쉬워 보이지만, 이 방법은 사용을 하지 않는 것이 좋다. 귀찮아도 전용 문법으로 부르기 바란다.
![](https://blog.kakaocdn.net/dn/xwbjV/btrT4edqAWJ/chxyYwA6ZX6R0A0cBSfhtK/img.png)
데이터프레임의 인덱스 바꾸는 법
여러 방법이 있는데, 나는 이 방법이 제일 편리했다.
행 인덱스, 열 인덱스로 설정할 리스트를 만들어 대입한다.
- index= [행 인덱스 == row index]
- columns = [열 인덱스 == column index]
만들 때부터 바로 바꿔넣는 방법이 있다.
![](https://blog.kakaocdn.net/dn/c4wuvB/btrT9YH9yF4/PI9rbwOkpZGKJ2r9kU69Y0/img.png)
딕셔너리 자료형식은 열 인덱스를 바로 정하고 넣을 수 있다.
![](https://blog.kakaocdn.net/dn/bTurOP/btrUfh7lfzD/t8CGUmofy7rZV0Ajdt6OP0/img.png)
딕셔너리 만들때 열 인덱스 정해서 넣어두고, 데이터프레임으로 가져올 때 행 인덱스만 더 넣는다.
![](https://blog.kakaocdn.net/dn/xvnn2/btrUbrQLnVt/27zcW0PhTqqqX5sXuqnmh0/img.png)
특정 셀의 위치를 찾는 방법
여러 가지 문법이 있다.
다음 글을 참고해서 원하는 방식으로 들어간다.
나는 대체로 숫자로 찾는게 좋았다.
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
'파이썬(Python) > 판다스(Pandas)' 카테고리의 다른 글
판다스 데이터프레임: 2차원으로만 표현되며, 3차원은 표현 못한다. (0) | 2022.12.20 |
---|