개발은 처음이라 개발새발

[Python] Faker 라이브러리 활용 본문

파이썬

[Python] Faker 라이브러리 활용

leon_choi 2024. 3. 14. 20:15
반응형

판다스를 활용하면서 데이터셋을 받아서 쓰기도 하지만 간단한 에제를 만들어 활용할 때 매번 컬럼과 인덱스를 만들어 넣는 것이 참 번거롭습니다. 이럴 때 무작위로 데이터를 제공해주는 라이브러리를 활용하면 좋은데요. Faker 라이브러리를 활용하면 무작위로 데이터를 만들 수 있습니다. 

#Faker 라이브러리 설치
pip install Faker
from faker import Faker
fake = Faker()

names = [fake.name() for _ in range(10)]
first_names = [fake.first_name_female() for _ in range(10)]
jobs = [fake.job() for _ in range(10)]
print(names)
print(first_names)
print(jobs)

-------------------------------------------------------------------------------
['Jessica Smith', 'Gavin Fisher', 'Andrea Navarro', 'Andrea Nguyen', 'Andrew Randolph',
'Michael Brown', 'Marcus Conley', 'Whitney Vance', 'Cole Parker', 'Kimberly Lutz']

['Kimberly', 'Bonnie', 'Alice', 'Laura', 'Melissa', 'Felicia', 'Emily', 'Linda', 
'Krista', 'Pam']

['Newspaper journalist', 'Administrator, arts', 'Fitness centre manager', 
'Engineer, materials', 'Surgeon', 'Producer, television/film/video', 'Water engineer', 
'Counsellor', 'Scientific laboratory technician', 'Software engineer']

 

Fake 라이브러리를 활용할 때, Faker('ko_KR')를 활용하면 영어가 아닌 한글로 된 무작위 데이터를 제공해줍니다. 

fake2= Faker('ko_KR')
Faker.seed(42)
names = [fake2.name() for _ in range(10)]
first_names = [fake2.first_name_female() for _ in range(10)]
jobs = [fake2.job() for _ in range(10)]
print(names)
print(first_names)
print(jobs)
_________________________________________________________________________________________
['김수민', '서정남', '김영자', '김영일', '김재호', '김은서', '김지원', '이민지', 
'이미숙', '홍예준']

['지원', '지민', '옥자', '현지', '영미', '유진', '지은', '은정', '채원', '은경']

['도금 및 금속분무기 조작원', '응용 소프트웨어 개발자', '기타 판매 및 고객 서비스 관리자',
'기타 식품가공관련 기계조작원', '판사 및 검사', '인쇄기 조작원', '큐레이터 및 문화재 보존원', 
'웹 개발자', '변리사', '금속 / 재료공학 연구원 및 기술자']

 

Faker는 name, job 말고도 다양한 자료를 무작위로 제공해줍니다. 

#Faker에서 제공해주는 대표 데이터

fake.name() -- 이름
fake.address() -- 주소
fake.postcode() -- 우편 번호
fake.country() -- 국가명
fake.company() -- 회사명
fake.job() -- 직업
fake.phone_number() -- 휴대 전화 번호
fake.email() -- 이메일 주소
fake.user_name() -- 사용자명
fake.pyint(min_value=0, max_value=100) -- 0부터 100 사이의 임의 숫자
fake.ipv4_private() -- IP 주소
fake.text() -- 임의의 문장 (*한글 임의의 문장의 fake.catch_phrase() 사용)
fake.color_name() -- 색상명
반응형