스터디/Data Analytics

[Pandas] 판다스와 시리즈 기본

sollllllll 2022. 2. 6. 23:14

참고 : https://wikidocs.net/75004

 

 

Pandas(이하 판다스)는 파이썬 라이브러리로, 데이터 조작 및 분석에 용이하며 사용하기 쉬운 데이터 구조를 제공한다.

데이터프레임, 시리즈, 인덱스 등의 자료구조를 제공하며 관계형 데이터베이스의 테이블과 같은 구조로, SQL과 같은 형태로 데이터를 처리할 수 있기 때문에 쉽게 접근할 수 있다.

단독 사용보다는 NumPy, scikit-leran, matplotlib 과 함께 사용하는 경우가 많다.

 

 

 

(1) 판다스의 자료구조

판다스가 제공하는 자료구조이다.

시리즈는 배열 형식, 데이터프레임은 표 형식의 구조이며 시리즈가 모여 데이터프레임을 구성한다.

시리즈 : 값(values) + 인덱스(index)

데이터프레임 : 칼럼(columns) + 인덱스(index) + 값(values)

 

관계형 데이터베이스와 비교했을 때, 데이터프레임은 테이블과 비슷하다.

관계형 데이터베이스 데이터프레임
칼럼 칼럼
행 번호 인덱스
행 정보(내용) 시리즈

 

 

 

(2) 시리즈

판다스의 기본 자료주고로, 값의 배열과 인덱스 배열로 구성된다.

시리즈는 관계형 데이터베이스에서 테이블의 한 행과 비슷하며, 시리즈의 인덱스는 테이블의 칼럼 이름과 비슷하다.

 

생성

시리즈를 생성할 때는 pd.Series() 안에 배열 내용을 입력해 생성한다.

별도의 인덱스를 지정하지 않는다면 숫자로 인덱스가 생성된다.

 

인덱스를 지정하려면 index 속성을 지정해주면 되고, reindex 를 이용하면 인덱스의 순서를 바꿀 수 있다.

 

파이썬의 딕셔너리를 통해서도 시리즈를 생성할 수 있다.

(파이썬의 딕셔너리 자료형은 key 와 values 로 구성되어 있음)

 

 

조회

시리즈에서는 값을 조회할 때 인덱스 번호나 이름을 사용할 수 있다. (배열과 비슷함)

조건문을 이용해서도 조회가 가능하다.

 

인덱스 이름으로 조회하는 방법 중

'시리즈명[인덱스명]' 방법은 딕셔너리 자료형 접근법이고, '시리즈명.loc[인덱스명]'은 함수를 이용한 방법이다.

또한 .isnull() 조건은 값이 null 인 인덱스와 값을 반환하고, .notnull() 조건은 그 반대의 경우를 반환한다.

 

 

변경

조회에 사용했던 방법으로 바꿀 곳을 지정하고, 값을 변경한다.

여러 인덱스를 한꺼번에 바꿀 경우엔 인덱스는 리스트형으로 지정하고 값은 튜플로 지정한다.

 

 

삭제

삭제의 경우엔 del 명령어나 drop() 함수를 이용한다.

drop() 은 삭제한 것을 복사해서 반환하며, inplace 옵션을 추가하면 데이터를 복사하지 않고 바로 삭제한다.

따라서 옵션을 추가하지 않고 drop() 만 수행하면 실제로는 데이터가 삭제되지 않는다.

 

 

속성

시리즈에는 name, index, values 속성이 있다.

시리즈를 처음 생성할 땐 name 속성이 없지만 .name() 으로 지정하면 name 속성이 만들어진다.

 

'시리즈명.속성' 명령어를 입력해 속성의 세부 내용을 조회할 수 있다.