간단한 샘플 데이터 제작 절차

11418 단어 Python3python3.6Python
웹 사이트 축소판https://program-board.com

동기


이번에는 다양한 샘플 데이터로 놀고 싶은데 간단하게 만들 수 있는 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

좋은 웹페이지 즐겨찾기