안녕하세요 콥스랩(COBS LAB)입니다. 오늘 소개해드릴 주제는 pandas입니다. 이번시간에는 pandas 개념, DataFrame, DataFrame 생성 등을 배워보도록 하겠습니다.
목차
- pandas 개념
- DataFrame
- DataFrame 생성
Pandas?
pandas는 파이썬에서 표 형태의 데이터를 탐색하고 분석하는 데 사용하는 라이브러리입니다. 일반적으로 엑셀에서 하는 것과 비슷한 작업들을 더 큰 규모에서, 효율적으로 수행할 수 있습니다. 현재 pandas는 파이썬을 이용한 데이터 과학 실무에서 유용하게 사용되고 있습니다.
판다스 패키지를 사용하기 위해서는 우선 import를 해야 합니다. 판다스 패키지는 pd라는 별칭으로 임포트 하는 것이 일반적입니다.
import pandas as pd
Series?
Pandas Series는 인덱싱된 데이터의 1차원 배열입니다. Numpy는 명시적 인덱스 없이 0부터 사용했지만 Pandas Series는 명시적으로 정의된 인덱스가 존재합니다.
data = pd.Series([1, 2, 3, 4], index = [’a’, ‘b’, ‘c’, ‘d’])
data
>>>
a 1
b 2
c 3
d 4
dtype: int64
첫 번째 열에는 'a', 'b', 'c', 'd’로 된 인덱스와 두 번째 열에는 일련의 값들로 구성되어 있습니다. 여기서 일련의 값들은 value라는 속성을 가집니다.
data.values
>>>
array([1, 2, 3, 4])
data.index
>>>
Index(['a', 'b', 'c', 'd'], dtype='object')
DataFrame?
pandas 데이터 프레임은 행과 열로 만들어지는 2차원 배열입니다. 여러 개의 시리즈(Series)가 모여서 데이터 프레임 구조를 이루고 있고 데이터 프레임의 열은 각 시리즈의 객체입니다.
DataFrame의 구조와 용어 정리
위 표는 DataFrame의 구조입니다. 418개의 row와 11개의 column을 가지고 있습니다.
Column
Column(칼럼)은 열을 의미하며 행과열을 가진 데이터에서 열은 모두 칼럼이라고 부릅니다. 칼럼은 데이터에서 객체가 가지고 있는 특징이 들어갑니다. 위 데이터프레임을 예로 들면 Name, Sex, Age 등 집단이 가지고 있는 특징입니다.
Row
Row(로우)는 행을 가리키며, 데이터 대상이 되는 객체 하나하나를 의미합니다. 위 데이터프레임을 예로 들면 인덱스가 3번인 사람은 이름이 Wirz, Mr.Albert이고 성별이 male, Age가 27인 사람입니다.
Index
Index(인덱스)는 2차원 배열 형태의 DataFrame은 행과 열이 있을 때 행을 구분해 줍니다. 별도로 지정해주지 않으면 인덱스는 정수로 설정이 되고 한 번 설정된 인덱스는 변경되지 않습니다.
DataFrame 생성하기
list를 사용해서 데이터 프레임 만들기
list로 데이터 프레임을 만들 때 칼럼 값을 따로 지정하지 않으면 0부터 자동으로 지정됩니다.
name_list = ["김철수", "김민수", "김현수", "김진수"]
age_list = [18, 20, 19, 21]
sex_list = ["남", "남", "여","남"]
family = pd.DataFrame({"name":name_list, "age":age_list, "sex":sex_list})
family
>>>
칼럼에 리스트 형식으로 이름을 따로 지정하면 칼럼에 이름을 지정한 순서대로 feature을 부여합니다.
data= [["김철수", 18], ["김민수", 20], ["김현수", 19], ["김진수", 21]]
df = pd.DataFrame(data,columns=["Name", "Age"])
df
>>>
Dictionary를 사용해서 데이터 프레임 만들기
Dictionary는 모든 형태의 데이터를 key value형태로 담을 수 있는 데이터 타입입니다. Dictionary의 value들이 list 또는 array입니다. 그 길이가 동일하면 데이터프레임으로 만들 수 있습니다.
family_dict = {"name":["김철수", "김민수", "김현수", "김진수"],
"age":[18, 20, 19, 21],
"sex":["남", "남", "여","남"]
}
family_dict
>>>
{'name': ['김철수', '김민수', '김현수', '김진수'],
'age': [18, 20, 19, 21],
'sex': ['남', '남', '여', '남']}
DF=pd.DataFrame(family_dict)
DF
>>>
Dictionary는 key와 value로 이루어져 있기 때문에 따로 칼럼 이름을 지정해주지 않아도 데이터프레임으로 쉽게 전환이 가능합니다. 이와 반대로 데이터프레임을 Dictionary로 변환하는 것 역시 가능합니다.
다음시간에는 데이터프레임 함수와 csv에 관해서 배워보도록 하겠습니다.
'pandas' 카테고리의 다른 글
pandas 기초(6) - 칼럼 배우기 part 1 (0) | 2023.01.30 |
---|---|
pandas 기초(5) - 데이터 프레임 정렬하기 (0) | 2023.01.28 |
pandas 기초(4) - loc와 iloc 차이 (2) | 2023.01.27 |
pandas 기초 (3) - pandas 인덱스 설정하는 법 (0) | 2023.01.19 |
pandas 기초(2) - csv 읽기, DataFrame 필수 함수!! (0) | 2023.01.18 |
댓글