데이터의 종류에는 어떤 것들이 있는지 정리해봅니다.
1.데이터의 종류
정형 데이터(Structured Data)
- 구조화된 형식을 가지며, 행과 열로 이루어진 표 형태를 이룹니다. 열(Column)은 특정 유형의 데이터를 포함하고, 행(Row)은 고유한 레코드를 나타냅니다.
ex) CSV 파일, 관계형 DB 테이블
정형 데이터의 분류
- 질적 데이터(Qualitative data): 품질, 특성 또는 특성의 유무를 나타내는 비수치적 데이터입니다. 범주형 데이터라고도 불립니다. 수학적 계산이 가능하더라도 의미는 없습니다.
- 명목형 (nominal data): 순서의 개념이 없습니다. Ex) 색상, 국가
- 서열형 (ordinal data): 순서의 개념이 있습니다. Ex) 직급, 난이도
- 양적 데이터(Quantitative data): 양이나 수치를 나타낼 수 있는 데이터로, 수학적 계산이 가능한 데이터입니다.
- 연속형 (continuous data): 실수와 같은 연속적인 수치를 나타내는 데이터입니다. Ex) 키, 무게, 온도
- 이산형 (discrete data): 정수와 같이 불연속적인 수치를 나타내는 데이터입니다. Ex) 출석 인원수, 무사고 일수
df_titanic = pd.read_csv(‘data/titanic.csv’)
df_titanic.head()

df_titanic[[‘Survived’, ‘Pclass’, ‘Sex’, ‘Embarked’]].apply(
lambda x: x.loc[x.notna()].unique().tolist()
)
Survived, Pclass, Sex, Embarked 각 열에 대해서 결측을 제거하고 유일값을 뽑아줍니다.

df_titanic[‘PassengerId’]

df_titanic[[‘Age’, ‘SibSp’, ‘Parch’]]
수치를 나타내는 정수형 데이터 입니다.

Cabin은 명목형 데이터와 정수형 데이터가 결합되어 있고, 단일 객체를 나태는 것이 아닌 복수의 객체를 나타내도록 되어 있습니다.
C85, B53, B55
Cabin의 첫자리는 객실 유형을 그 다음 숫자는 객실의 위치를 나타냅니다
결측이 아닌 Cabin만을 뽑고, 객실 유형을 분리하여 CabinType 변수를 만들고,
객실 위치를 분리하여 CabinNo변수를 만듭니다.
df_titanic.loc[df_titanic[‘Cabin’].notna(), ‘Cabin’].unique()

df_titanic.loc[df_titanic[‘Cabin’].notna(), ‘Cabin’].str.split(‘ ‘).explode()..apply(
lambda x: pd.Series((x[:1], x[1:]), index=[‘Cabin_Type’, ‘Cabin_No’])
)

비정형 데이터(Unstructured Data)
- 구조가 없거나 제한적인 구조를 가지고 있지 않은 데이터입니다. Ex) 텍스트, 음성, 비디오, …
반정형 데이터(Semi-Structured Data)
- 일정한 형식을 지니고 있지만 완전한 정형 데이터는 아닌 데이터입니다.
XML
<person>
<name>John Doe</name>
<age>30</age>
<address>
<city>New York</city>
<zipcode>10001</zipcode>
</address>
<contacts>
<email>john.doe@example.com</email>
<phone>123-456-7890</phone>
</contacts>
</person>
JSON
{
"person": {
"name": "John Doe",
"age": 30,
"address": {
"city": "New York",
"zipcode": "10001"
},
"contacts": {
"email": "john.doe@example.com",
"phone": "123-456-7890"
}
}
}
2. 정형 데이터의 구성 요소¶
Series
- 1차원의 인덱스가 부여된 자료 저장 공간
- 인덱스(Index): 요소에 부여된 색인 데이터
s = pd.Series(
[1, 5, 3, 10, 7], index=[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
)
DataFrame
- 2차원의 인덱스가 부여된 자료 저장 공간.
- 인덱스(Index): 행(row)에 부여된 색인 데이터
- 컬럼(Column): 열(column)에 부여된 색인 데이터
df_titanic.head()

보통 여러개의 Series가 모여 DataFrame을 구성합니다.
3. 빅데이터
3V (Volume, Velocity, Variety)
- Volume(양) : 데이터의 규모나 양을 나타냅니다.
- Velocity(속도): 데이터가 생성, 수집, 그리고 분석되는 속도를 나타냅니다.
- Variety(다양성): 데이터 형식의 다양함을 나타냅니다.
5V (3V + Veracity, Value)
- Veracity(정확성) : 데이터의 정확성과 신뢰성을 나타냅니다.
- Value(가치): 데이터를 통해 얻을 수 있는 가치를 나타냅니다.
4. 모델
- 모델(모형)의 사전적 의미: 대상을 근사화한 객체
- 통계 / 머신 러닝 관점에서의 의미데이터의 근사화 → 데이터에 드러난 패턴/지식을 근사화한 객체
