반응형
파이썬 랜덤 이름 생성하기¶
In [1]:
# names 패키지 설치 (-q 옵션은 설치 과정에 로그 값을 보여주지 숨겨 주피터 노트북을 좀더 깨끗하게 쓰게 함)
!pip -q install names
In [2]:
import os
import names
from random import *
import pandas as pd
In [3]:
# 영문 풀네임 생성
names.get_full_name()
Out[3]:
'Linda Augustus'
In [4]:
# 영문 성(first name) 생성
names.get_first_name()
Out[4]:
'Darius'
In [5]:
# 영문 이름 생성
names.get_last_name()
Out[5]:
'Walls'
In [6]:
# 남자 이름 생성
# names.get_first_name(gender='male')
# names.get_last_name(gender='male')
names.get_full_name(gender='male')
Out[6]:
'Bradley Martinez'
In [7]:
# 여자 이름 생성
# names.get_first_name(gender='female')
# names.get_last_name(gender='female')
names.get_full_name(gender='female')
Out[7]:
'Mary Woody'
names 패키지를 활용한 샘플 성적 데이터 프레임 만들기¶
In [9]:
# 샘플 데이터 생성
os.makedirs("sample_data", exist_ok=True)
# 나이 데이터 생성
age = [randint(16, 18) for i in range(0, 1115)]
# 성별 데이터 생성
gender = [choice(["male", "female"]) for i in range(0, 1115)]
# 이름 데이터 생성
name = [names.get_first_name(gender=g) for g in gender]
# 성적 데이터 생성
math = [randint(60, 100) for i in range(0, 1115)]
english = [randint(60, 100) for i in range(0, 1115)]
# 데이터 딕셔너리화
dic_list = {"age" : age, "gender" : gender, "name" : name, "math" : math, "enlish" : english}
In [10]:
# 딕셔너리 내용을 확인하기 위핸 짧게 보여주는 코드
for key in dic_list.keys():
print(f"{key} : {dic_list[key][:5]}")
age : [17, 16, 16, 18, 17] gender : ['female', 'male', 'female', 'male', 'male'] name : ['Dolores', 'David', 'Candace', 'Jason', 'Robert'] math : [88, 80, 90, 77, 67] enlish : [66, 82, 83, 97, 60]
In [11]:
# 데이터 프레임 생성
grade = pd.DataFrame(dic_list)
grade.head(10)
Out[11]:
age | gender | name | math | enlish | |
---|---|---|---|---|---|
0 | 17 | female | Dolores | 88 | 66 |
1 | 16 | male | David | 80 | 82 |
2 | 16 | female | Candace | 90 | 83 |
3 | 18 | male | Jason | 77 | 97 |
4 | 17 | male | Robert | 67 | 60 |
5 | 17 | female | Marla | 84 | 62 |
6 | 16 | male | Donald | 74 | 92 |
7 | 17 | male | Justin | 91 | 90 |
8 | 16 | male | Robert | 83 | 94 |
9 | 17 | female | Eileen | 71 | 88 |