간단한 샘플 데이터 제작 절차
동기
이번에는 다양한 샘플 데이터로 놀고 싶은데 간단하게 만들 수 있는 API가 있는데 자유도가 떨어지는 것 같아서 직접 만들기로 했어요.
모듈
모듈을 설치합니다. 여기에는pandas,numpy와 가짜 데이터를 간단하게 생성할 수 있는faker라는 모듈을 사용합니다.
pip install faker
faker 정보
페이커의 기본 사용법을 기술합니다. 일본어용 위조 데이터를 페이커('ja_JP')로 생성할 준비를 하고 있습니다. 이후 원하는 종류의 데이터를 생성해 보십시오. 영어지만 아래 사이트에 페이커가 생성할 수 있는 데이터가 게재되어 있습니다.
https://www.nblog09.com/w/2019/01/24/python-faker/
여기, 이름 생성, 도도부현, 회사, 생년월일, 직업.
# 日本語偽データの設定
from faker import Faker
# 日本語偽データの設定
fakegen = Faker('ja_JP')
print(fakegen.name())#名前
print(fakegen.prefecture())#都道府県
print(fakegen.company()) #会社
print(fakegen.date_of_birth()) #生年月日
print(fakegen.job()) #職業
가짜 데이터 생성
우선, 이름, 생년월일, 주소(도도부현), 직업, 회사의 가짜 데이터를 생성한다.
import numpy as np
import pandas as pd
from numpy.random import *
from faker import Faker
# 日本語偽データの設定
fakegen = Faker('ja_JP')
faker_list = []
for i in range(1000):
name = fakegen.name() #名前
pref = fakegen.prefecture() #都道府県
company = fakegen.company() #会社
birth = fakegen.date_of_birth() #生年月日
job = fakegen.job() #職業
faker_list.append([name,pref,company,birth,job])
# データフレーム化
df = pd.DataFrame(faker_list,columns=['名前','住所','会社','生年月日','職業'])
이런 느낌으로 간단하게 만들 수 있어요.나이.
나이의 위조 데이터를 생성합니다. 여기서numpy를 사용하여 15~85의 고르게 분포된 무작위 숫자로 데이터를 생성합니다. 결손 값을 고려하여 800만 만듭니다. 또한 다른 항목에서 결손 값을 생성할 때 같은 줄에 겹치지 않도록 데이터 배열 방법을 혼란스럽게 합니다.
age_list = randint(15,85,800) # 一様分布(下限,上限,生成数)
# データフレームに追加
df['年齢'] = pd.DataFrame(age_list)
# データの並び方をごちゃにする.
df = df.sample(frac=1)
연소득
연수입, 키의 가짜 데이터를 생성합니다. 여기서numpy를 사용하여 평균치와 방차의 값을 적당히 결정하고 정규 분포에서 데이터를 생성합니다.
# 身長
height_list = normal(170,6,900) # 正規分布(平均,分散,生成数)
height_list = np.round(height_list,decimals=0) # 整数止め
# データフレームに追加
df['身長'] = pd.DataFrame(height_list)
# データの並び方をごちゃにする.
df = df.sample(frac=1)
# 年収
income_list = normal(400,8,850) # 正規分布(平均,分散,生成数)
income_list = np.round(income_list,decimals=0) # 整数止め
# データフレームに追加
df['年収'] = pd.DataFrame(income_list)
# データの並び方をごちゃにする.
df = df.sample(frac=1)
혼인
혼인 위조 데이터는numpy의np입니다.random.선택에 준비된 옵션을 규정된 비율에 따라 무작위 수를 생성합니다.
#性別
mariage = ['未婚','既婚','離別'] #選択肢
Weight = [0.4,0.3,0.3] #割合
mariage_list = np.random.choice(mariage,700,p=Weight) #np.random.choice(選択肢,生成数,割合)
# データフレームに追加
df['婚姻'] = pd.DataFrame(mariage_list)
# データの並び方をごちゃにする.
df = df.sample(frac=1)
끝내다
데이터 분석 연습을 위해 위조 데이터의 생성을 진행했습니다. 단, 분석 연습용 데이터를 생성하기 위해서는 생성에 사용되는 분포의 종류와 파라미터를 확인하고 실행해야 합니다.
참고 자료
https://www.nblog09.com/w/2019/01/24/python-faker/
https://qiita.com/ogamiki/items/4821173ca713a6b77510
Reference
이 문제에 관하여(간단한 샘플 데이터 제작 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryuji-fujisawa/items/91b45b43725575b3eda1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)