본문 바로가기
파이썬(Python)

파이썬으로 가상의 데이터 만들기(Feat. Faker)

by Serendipity_ 2023. 7. 16.
반응형

가상데이터 사용목적

데이터 테스트를 위해 실제 데이터에 바로 하기보다는 샘플로 하는 경우가 대부분일텐데요. 그 때 샘플 데이터 만들 때 은근 적절하게 만드는 게 참 쉽지 않습니다. 이런 경우에는 가상 데이터로 쉽게 만들어서 진행할 수 있습니다. 가상데이터이다보니 내용은 틀렸지만 형식은 적절해서 더욱 샘플로 쓰기가 좋습니다.

 

저도 이제 블로그 글 쓸 때 이름 고민 등을 안해도 될 것 같아요 .. ! 😀

 

패키지 설치

가상데이터 이용 시 패키지를 설치해야합니다.

pip install faker

jupyter lab 또는 jupyter notebook을 사용하는 경우 conda 설치방법 입니다.

conda install -c conda-forge faker

 

라이브러리 로드

from faker import Faker
fake = Faker('ko-KR') # 한국어 데이터를 사용하고 싶은 경우, "ko-KR"을 입력
# 영어 데이터 사용 시 fake = Faker()로 사용

 

간단한 예시

from faker import Faker
fake = Faker('ko-KR')
fake.name()

가상데이터_faker예시1
가상데이터1

'박건우'라는 가상의 데이터가 나타납니다. 

조금 더 다른 데이터를 돌려보겠습니다.

가상데이터_faker예시2
가상데이터2

다시 돌려보니 '김춘자'라는 이름이 나타나고 회사이름은 (유) 윤이우 등의 형태로 나타납니다.

주소데이터를 보면 시와 구 그리고 상세주소가 각각 따로따로 나타나는데 아마 학습할 때 시군구 데이터를 학습한 다음 무작위로 섞어서 배치한 것으로 보입니다. 

민감한 데이터인 개인정보 데이터로 샘플 연습을 하는 것보단 이렇게 아무 의미 없는 데이터로 연습해보는 게 더 좋을 것 같습니다 ! 😃

 

더 많은 형태의 데이터 구분이 궁금하신 분들은 아래 링크 참고해주시면 될 것 같습니다. (맨 아래 첨부)

 

가짜데이터 데이터형태로 만들기

데이터 형태로 만들기 위해서는 pandas 라이브러리를 불러와야 합니다. 

import pandas as pd

이후 반복문을 통해 불러오면 완성입니다. 

company_lst = []
name_lst = []
address_lst = []
postcode_lst = []

for i in range(30) : 
    company = fake.company()
    name = fake.name()
    address = fake.address()
    postcode = fake.postcode()
    
    company_lst.append(company)
    name_lst.append(name)
    address_lst.append(address)
    postcode_lst.append(postcode)

df = pd.DataFrame({'Company' : company_lst,
                 'Name' : name_lst,
                 'Address' : address_lst,
                 'Postcode' : postcode_lst})
df

16개 데이터만 들고왔습니다. 대충 이런 형태구나 정도만 봐주시면 될 것 같습니다. 

가상 데이터를 통해서 민감한 개인정보 데이터 샘플 대용으로 많은 활용하시면 될 것 같습니다.

전체 코드(참고용)

 

from faker import Faker
import pandas as pd

fake = Faker('ko-KR')

company_lst = []
name_lst = []
address_lst = []
postcode_lst = []

for i in range(30) : 
    company = fake.company()
    name = fake.name()
    address = fake.address()
    postcode = fake.postcode()
    
    company_lst.append(company)
    name_lst.append(name)
    address_lst.append(address)
    postcode_lst.append(postcode)

df = pd.DataFrame({'Company' : company_lst,
                 'Name' : name_lst,
                 'Address' : address_lst,
                 'Postcode' : postcode_lst})
df

 

참고링크

 

https://faker.readthedocs.io/en/master/

 

Welcome to Faker’s documentation! — Faker 18.13.0 documentation

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you. Com

faker.readthedocs.io

https://wikidocs.net/105448

 

120 테스트용 데이터를 생성하려면? ― faker

faker는 테스트용 가짜 데이터를 생성할 때 사용하는 라이브러리이다. 마찬가지로 pip을 이용하여 설치한다. ```no-highlight pip install Faker ``…

wikidocs.net

반응형

댓글