프로그래밍/Python

파이썬 데이터 분석 라이브러리 - Pandas (Series편)

Dibrary 2022. 5. 13. 09:50
반응형

안녕하세요 Dibrary입니다.

파이썬으로 데이터 분석을 할 때 Numpy와 더불어 굉장히 많이 쓰는 라이브러리가 있습니다. 바로 Pandas죠.

Pandas의 모든 기능을 알려면... 한 900페이지에 달하는 책을 달달 외우고 공부해야 하는데, 막상 데이터 분석을 간단히 수행하다 보면 쓰는 기능만 쓰는 것을 알 수 있습니다.

그래서 간단하게 라이브러리 사용하는 방법을 정리해 두겠습니다.

 

사용하려면 여느 라이브러리와 마찬가지로 pip install pandas 하는거 잊으시면 안되용~


Series

가장 먼저 다루기 쉬운 Pandas의 자료구조인 Series를 보겠습니다.
이름 그대로 1차원의 배열 꼴 자료구조입니다.

먼저 라이브러리를 pd라는 별칭으로 불러와서 Series를 만들었습니다.

type을 확인해보니 Series인 것을 확인할 수 있죠. iterable하기 때문에 for문에서 곧바로 사용할 수도 있습니다.

객체를 확인해보면.. 못보던 숫자가 있네요? 0부터 8까지의 숫자는 제가 입력한 것이 아닙니다.

네 Pandas의 Series는 index를 자동으로 만들어 줍니다. dtype은 구성 데이터의 자료형입니다. 

직접 객체에 index를 사용해 index값의 범위를 확인할 수도 있습니다.

 

 

그러면 index를 꼭 숫자로만 나오게 해야 하는가? 그렇지 않습니다.

직접 index를 넣을 수도 있습니다.

네, 알파벳으로 직접 index를 넣어주니 정상적으로 나타납니다. index를 직접 지정하면 입력한 순서대로 나옵니다.

여기서 주의할 점은, data 갯수와 index 갯수가 일치하지 않으면 아래와 같은 에러를 만나게 됩니다.

말 그대로 데이터는 6개인데, index는 5개밖에 없어서 길이가 안맞는다는 에러입니다.

 

 

index로 값 가져오려고 할 때, 사용자가 정의한 index를 사용할 수 있습니다.

 

Series의 편리한 점은, 조건에 맞는 데이터를 곧바로 꺼낼 수 있다는 점입니다.

보시면, test2의 값이 3보다 큰 경우만 가져오게 했습니다. 원래라면 for문을 돌며 조건문을 통해 값을 걸렀겠죠?

보다 편리한 기능을 지원해서 Pandas가 데이터 분석에 많이 활용되는 것입니다.

 

물론 당연하게도, 사칙연산 및 조건문으로 할 수 있는 것들은 다 가능합니다.

 

Series를 만들 때, list 자료형을 사용했었는데, 그러면 다른 자료형은 안될까요? 사전형이 가능합니다.

사전꼴로 만들 수도 있고, key값에 자료형이 모두 통일되지 않아도 됩니다.

 

사전형으로 쓸 경우 좋은점은, index를 이용해서 자동 필터링을 할 수 있다는 점입니다.

index로 준 값만 Series객체로 뽑아낸 것을 볼 수 있습니다.

index에는 있으나 data에 없는 key라면 NaN으로 표시되는 것도 보이네요.

 

데이터 분석할 때 결측치와 이상치를 구별하는 것은 굉장히 중요하죠.

이 중에서, 결측치를 확인하는 굉장히 쉬운 방법을 Pandas는 제공합니다.

isnull로 True이면 해당 데이터가 null이라는 것이죠.

 

Series는 단순히 list 꼴이지만, index를 활용해서 필요한 값만 걸러내거나 확인해볼 수 있습니다.

728x90
반응형