본문 바로가기
데이터분석/Pandas&Numpy

Kaggle - Titanic 데이터로 연습하는 Pandas 02

by ADELA_J 2023. 7. 31.

 

지난 포스팅에서 drop 된 컬럼들과 로우들이 좀 있기 때문에 새로 csv에서 불러와서 다시 시작...☆

https://dev-adela.tistory.com/139


** 판다스 Index = RDBMS의 PK 

▶ 레코드를 고유하게 식별하는 객체이다. 

** DataFrame.index 나 Series.index 속성을 통하면 index를 추출할 수 있는데, values 메서드를 쓰면 1차원 array로 반환해준다.

 

▶ 그래서 ndarray와 유사하게 사용할 수 있다. 단일 값 반환이나 슬라이싱 등등 (계속 해서 나오는 numpy와 pandas의 콜라보레이션...ㅎ)

요렇게.,,,,,

값을 반환하거나 슬라이싱 하면서 불러올 수는 있지만 기존 우리가 알고 있는 numpy의 배열의 특성처럼 값을 다른 것으로 변경하는 것은 할 수 없다. ▷ 왜냐하면 인덱스값이니까. 인덱스 값은 값을 변경할 수 없다. 


Series에 할 때는 Index에서 연산되지 않는다. 연산은 무조건 제외되고 Index는 오직 식별용으로만 사용된다. 

 

▶ reset_index() 메서드를 수행하면 새롭게 인덱스를 연속 숫자 형으로 할당한다. 기존의 index는 index라는 새로운 컬럼으로 추가된다.

 

   ▷ 하고나면 기존 인덱스가 컬럼으로 추가되어서 Series가 아닌 DataFrame으로 반환되니 알아둘것. 만약 drop = True로 인자값을 주면 새로운 칼럼으로 추가되지 않고 기존의 인덱스는 삭제 됨. 그러면 Series로 유지됨.


< 데이터 셀렉션 및 필터링>

* Numpy의 ' [ ] ' 는 연산자 내 단일 값 추출, 슬라이싱, 팬시 인덱싱, 불린 인덱싱을 통해 데이터 추출가능.

** pandas의 경우에는 iloc [] , loc[] 연산자가 동일한 작업을 함. 

▶ 그러다보니 혼란이 자주 올 수 있는데 DataFrame 바로 뒤에 ' [ ] ' 안에 들어갈 수 있는 것은 컬럼이름이나 인덱스로 변환이 되는 표현식 뿐이다. 그러니까 DataFrame에서 [ ] 는 컬럼지정연산자로 이해하는 것이 가장 좋음. 

▷ 물론 슬라이싱을 이용하면 원하는 결과를 얻을 수 있고, 불린 인덱싱 표현도 자주 사용된다.