머신러닝 및 딥러닝/Python

[파이썬] 판다스 pandas 기초: 판다스의 자료 구조 series와 dataframe

밴B 2021. 6. 13. 15:59
728x90
반응형

판다스 Pandas

판다스는 파이썬의 라이브러리로 빠르고 쉽게 데이터를 정리하고 분석할 수 있게 해주는 도구입니다.

판다스와 Numpy 넘파이는 아마 데이터 분석/과학 작업에서 함께 많이 쓰이는 라이브러리입니다.
다차원 배열 객체를 제공하는 넘파이와 달리 판다스는 표 형식인 Dataframe이라는 객체를 사용합니다. 간단하게 말하면 판다스는 표 형식의 데이터 작업을 위해 설계되었고 넘파이는 숫자 배열 데이터를 작업하는데 가장 적합합니다.

출처: Geeksforgeeks

왼쪽: 판다스의 데이터 프레임 오른쪽: 넘파이의 배열




이번 글에서는 판다스의 대표적인 두 자료구조 시리즈Series와 데이터프레임DataFrame에 대해 설명해보겠습니다.

이 글에서 pd는 pandas 라이브러리를 의미하는 것입니다.

import pandas as pd


시리즈 Series

시리즈는 1차원 배열 객체입니다.
시리즈는 데이터 값value와 그 값의 위치를 대표하는 인덱스index로 이루어져 있습니다.

series = pd.Series([1, 2, 3, 4])



위 코드를 실행하면 series라는 시리즈가 만들어지는데 인덱스를 따로 지정하지 않았기에 1, 2, 3, 4 옆에 자동으로 지정된 0, 1, 2, 3이라는 인덱스를 확일 할 수 있습니다.



시리즈의 값과 인덱스를 출력해본 결과입니다.
위에서 입력한 값과 자동으로 만들어진 인덱스를 확인할 수 있습니다.




  • 시리즈 & 인덱스 입력하기

밑 예제 코드와 같이 시리즈를 생성할 때 인덱스를 직접 지정할 수 있습니다.

series2 = pd.Series([90, 65, 80, 90], index=['d', 'b', 'a', 'c'])

"시리즈이름[인덱스]" 형식을 사용해서 원하는 값을 선택할 수 있습니다.

series2['b'] >>> 65 series2[['b', 'd']] >>>> b 65 >>>> d 90 >>>> dtype: int64 

  • 딕셔너리로 시리즈 정의하기

pd.Series(딕셔너리) 딕셔너리를 넣어서 바로 시리즈를 만들 수 있습니다.
자동으로 딕셔너리의 key가 인덱스로 딕셔너리의 value가 값으로 지정됩니다.

fruit_dict = {'bananas': 1, 'apples': 4, 'oranges': 10} fruit_series = pd.Series(fruit_dict) fruit_series >>>> bananas 1 >>>> apples 4 >>>> oranges 10 >>>> dtype: int64




데이터프레임 DataFrame

데이터프레임은 2차원 자료 구조로 행과 열이 있는 테이블 형식입니다.

레드와인 데이터프레임

데이터프레임에는 행 및 열 둘 다 인덱스가 있으며 각 열은 서로 다른 값 유형 (숫자, 문자열, boolean 등) 일 수 있습니다.

  • 딕셔너리로 데이터프레임 생성하기
data = {'name': ['Jake', 'Amy', 'Terry', 'Rosa', 'Gina', 'Charles'], 'year': [1998, 2001, 2002, 1999, 2000, 2002], 'grade': [40, 100, 85, 80, 45, 50]} frame = pd.DataFrame(data)


넘파이의 배열이나 리스트를 포함한 딕셔너리를 사용해서 데이터프레임을 생성할 수 있습니다. 이때 모든 배열의 길이가 동일해야 합니다.












이번 글에서는 판다스의 대표적인 자료구조 시리즈와 데이터프레임에 대한 간단한 설명을 해보았습니다.
틀린 내용이 있거나 궁금하신 점이 있다면 댓글로 남겨주세요 :)

728x90
반응형