본문 바로가기
데이터 분석/데이터 전처리

[Pandas] 1. DataFrame 생성하기

by 부자 꽁냥이 2020. 7. 30.

안녕하세요~~ 꽁냥이에요!

 

Pandas는 데이터를 행과 열로 이루어진 우리에게 익숙한 테이블 형태로 제공하고요. 데이터 조회, 데이터 변환, 칼럼 추출, 결측치 처리 등 데이터 전처리에 필요한 강력한 기능을 제공하고 있어서 데이터를 분석한다면 Pandas를 필수적으로 다룰 수 있어야해요.

 

또한 Pandas의 문서는 자세한 설명과 다양한 예제를 제공하고 있어서 모르는 것이 있다면 관련 내용을 빠르게 찾고 쉽게 이해할 수 있어요.

 

Pandas 문서 : 

 

pandas documentation — pandas 1.0.5 documentation

API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

pandas.pydata.org

이번 포스팅에서는 가장 기본적이라 할 수 있는 Pandas를 통해 데이터를 만들어보는 방법에 대해서 알아보겠습니다.

 

1. 목표

2. 열(Column)을 이용하여 데이터 만들기

3. 행(Row)을 이용하여 데이터 만들기

4. 딕셔너리를 이용하여 데이터 만들기


   1. 목표

꽁냥이가 만들고 싶은 데이터는 다음과 같아요.

 

id name height nation
1 Park 170 Korea
2 Amy 165 England
3 Michael 188 America
4 Donald 180 America

그럼 위 데이터를 Pandas를 이용하여 만들어볼까요?

반응형

   2. 열(Column)을 이용하여 데이터 만들기

열을 이용하여 데이터를 만드는 것은 다음 순서로 이루어집니다.


1. 데이터 초기화

2. 만들고자 하는 열(Column)의 이름데이터를 이용하여 열 데이터 생성

 


여기서 데이터를 초기화한다는 것은 DataFrame 생성자를 호출한다는 것입니다. 아래 코드를 통해서 각 과정이 어떻게 코드로 표현되어있는지 주목하세요.

 

import pandas as pd

df = pd.DataFrame() ## 1. 데이터 초기화

## 2. 만들고자 하는 열(Column)의 이름과 데이터를 이용하여 열 데이터 생성
df['id'] = ['1','2','3','4']
df['name'] = ['Park','Amy','Michael','Donald']
df['height'] = [170,165,188,180]
df['nation'] = ['Korea','England','America','America']

 

line 3

pd.DataFrame()을 통하여 데이터를 초기화해줍니다.

 

line 6~9

원하는 열의 이름과 데이터를 딕셔너리의 키와 값을 넣는 방식으로 입력해줍니다.

 

위 코드를 실행하고 df를 불러오면 다음과 같이 우리가 원하는 데이터를 테이블 형태로 잘 만들어진 것을 확인할 수 있습니다.

 

실행 결과


   3. 행(Row)을 이용하여 데이터 만들기

위에서 열 데이터를 옆으로 붙여나가는 방식을 이용했다면 여기서는 행 데이터를 아래로 붙여나가는 형식으로 만들어보겠습니다. 행을 이용하여 데이터를 만드는 과정은 다음과 같습니다.


1. 데이터 초기화 - 열 이름 지정

2. 열 이름에 대응하는 행 데이터 생성


다음은 위의 과정을 코드로 구현한 것입니다.

 

import pandas as pd

df = pd.DataFrame(columns=['id', 'name', 'height', 'nation']) ## 1. 데이터 초기화 - 열 이름 지정

## 2. 열 이름에 대응하는 행 데이터 생성
df.loc[0] = ['1','Park',170,'Korea']
df.loc[1] = ['2','Amy',165,'England']
df.loc[2] = ['3','Michael',188,'America']
df.loc[3] = ['4','Donald',180,'America']

 

line 3

행을 이용하여 데이터를 만들 때는 DataFrame안의 columns 인자에 열 이름을 포함하는 리스트를 넣어주고 초기화해줘야 합니다. 

 

line 6~9

loc[인덱스] 이용하여 행을 추가합니다. 이때 인덱스는 데이터를 조회할 때 사용되고요. 인덱스는 숫자뿐만 아니라 문자열이 될 수 있습니다. 그리고 행으로 들어가는 리스트의 원소는 반드시 칼럼의 개수와 같아야 합니다.

 

위 코드를 실행해보면 아래와 같이 데이터가 잘 만들어진 것을 확인할 수 있습니다.

 

실행 결과


   4. 딕셔너리를 이용하여 데이터 만들기

데이터는 딕셔너리를 이용하여 데이터를 만들 수 있습니다. 과정은 다음과 같습니다.


1. { 열 : 데이터 } 형식으로 딕셔너리를 생성

2. 만들어진 딕셔너리를 이용하여 데이터 초기화


코드를 살펴보겠습니다.

 

## 1. { 열 : 데이터 } 형식으로 딕셔너리를 생성
data = dict()
data['id'] = ['1','2','3','4']
data['name'] = ['Park','Amy','Michael','Donald']
data['height'] = [170,165,188,180]
data['nation'] = ['Korea','England','America','America']

## 2. 만들어진 딕셔너리를 이용하여 데이터 초기화
df = pd.DataFrame(data)

 

line 2~6

키(Key)는 열 이름으로 값(Value)은 데이터를 넘겨주는 방식으로 딕셔너리를 하나 만들어줍니다.

 

line 9

위에서 만든 딕셔너리를 데이터 초기화할 때 인자로 전달합니다.

 

위 코드를 실행해보시면 이전의 방법과 동일하게 데이터가 만들어졌음을 알 수 있습니다.

 

실행 결과


이번 포스팅에서는 데이터를 생성하는 방법에 대해서 알아보았습니다. 하지만 실무에서는 직접 데이터를 생성하지 않고 데이터가 저장된 파일(txt, csv)을 불러오거나 데이터베이스의 접근하여 읽어오는 방식으로 데이터를 다루게 됩니다. 

 

궁금한 점, 잘못된 점, 하고 싶은 말은 댓글로 남겨주시면 감사하겠습니다.

 

다음 포스팅에서는 텍스트 파일을 읽어 오는 방법에 대해서 소개하려고 합니다. 기대해주세요~

 

지금까지 꽁냥이의 글 읽어주셔서 감사합니다. 안녕히 계세요~


댓글


맨 위로