본문 바로가기

Programming

판다스(Pandas) 데이터 프레임과 시리즈

 

Pandas 는 데이터조작과 분석을 위한 강력한 도구를 제공하며, 데이터를 쉽게 읽고 처리할 수 있게 해 줍니다.

Pandas의 핵심 데이터 구조는 DataFrame과 Series 입니다.

 

DataFrame은 표 형식의 데이터를 다루는 데 사용되며, 이는 행과 열이 있는 데이터를 표현합니다.

Series 는 DataFrame 의 하나의 열을 나타내는데, 이는 1차원 배열 형태의 데이터입니다.

DtatFrame은 엑셀에서 볼 수 있는 시트(Sheet)와 동일한 개념이며, Series는 시트(Sheet)의 열 1개를 의미합니다.

 

아나콘다를 설치하면 기본적으로 pandas 는 설치되어 있습니다.

만약 없다면 프롬프트에서 pip install pandas 명령어를 입력해서 설치하면 되겠습니다. 

 

데이터 불러오기

 

데이터를 읽어 들이는 가장 일반적인 방법은 CSV 파일이나 Excel 파일을 read_csv() 나 read_excel() 함수를 사용하여 읽어오는 것입니다.

 

read_csv 메서드는 기본적으로 쉼표(,)로 구분되어 있는 데이터를 가지고 옵니다. 탭으로 구분되어 있는 tsv 파일은 불러올 때는 열이 탭(tab)으로 구분되어 있다고 미리 알려줘야 합니다. ( sep = '\t' )

 

shape 라는 속성은 데이터의 행과 열의 크기에 대한 정보를 저장하고 있습니다.

첫 번째 값(1704)은 행의 크기, 두 번째 값(6)은 열의 크기입니다.

 

데이터프레임의 정보는 dtype 속성이나 info() 메서드를 통해 확인할 수 있습니다.

파이썬의 문자열 자료형인 string는 판다스에서는 object 로 인식합니다.

데이터추출하기

 

 

인덱스는 보통 정수, 문자열, 날짜 등 다양한 데이터 유형일 수 있습니다. 사용자가 데이터프레임을 생성할 때 명시적으로 지정할 수 있습니다.

행번호는 정수형 값으로, 데이터프레임이 생성된 순서대로 0부터 할당됩니다. 사용자가 명시적으로 설정하지 않고 데이터프레임이 생성될 때 자동으로 부여됩니다.

 

즉 loc[-1] 은 -1 이라는 특정 인덱스값을 찾으려고 하지만 -1로 지정된 인덱스 값이 없으면 키에러를 발생합니다.

iloc 는 행번호를 기준으로 하기 때문에 마지막 행을 선택합니다.

 

loc를 사용하여 인덱스(Label) 기반으로 행과 열을 선택합니다.

모든 행 [ : ] 을 선택하고, [ 'year', 'pop' ] 은 선택한 열의 이름을 포함하는 리스트입니다.

즉, 모든 행에서 'year' 과 'pop' 열의 데이터를 추출하는 방법입니다.

 

iloc 를 이용하여 데이터프레임에서 특정 열을 선택하는 방법입니다.

모든 행 [ : ] 에서 [ 2, 4, -1 ] 3번째, 5번째, 마지막 열을 선택하여 출력합니다.

 

loc 속성의 열 지정값이 정수 리스트를 전달하면 오류가 발생하고, iloc 속성에 문자열 리스트를 전달하면 오류가 발생합니다.

 

내장함수인 range 와 리스트슬라이싱을 이용해서 데이터를 추출할 수 도 있습니다.

 

원하는 행번호나 인덱스를  이용해 열데이터를 추출하는 방법입니다.

iloc 와 loc를 이용하여 다양한 방법으로 데이터를 추출하는 방법을 연습하면 좋습니다.

 

[예제 : Doit 판다스 입문]