반응형
성별, 이름, 성적 랜덤 데이터 생성¶
In [1]:
# 이름을 랜덤 생성하기 위한 패키지 설치 코드 입니다.
#!pip install names
In [2]:
import names
import pandas as pd
import numpy as np
from random import *
In [3]:
# 10살 초과 19살 이하 나이 랜덤 생성
age = [randint(10, 18) for i in range(0, 5)]
age
Out[3]:
[16, 18, 16, 15, 16]
In [4]:
# 성멸 나이 랜덤 생성
gender = [choice(["male", "female"]) for i in range(0, 5)]
gender
Out[4]:
['female', 'male', 'female', 'female', 'male']
In [5]:
# get_first_name 함수와 성별을 이용한 이름 랜덤 생성
name = [names.get_first_name(gender=g) for g in gender]
name
Out[5]:
['Bonnie', 'Matthew', 'Lillie', 'Elizabeth', 'Dean']
In [6]:
# 60 초과 100 이하 수학 및 영어 성적 랜덤 생성
math = [randint(60, 100) for i in range(0, 5)]
english = [randint(60, 100) for i in range(0, 5)]
math, english
Out[6]:
([77, 69, 78, 60, 88], [65, 100, 73, 78, 81])
In [7]:
# 딕셔너리 리스트형태로 전환
dic_list = {"age" : age, "gender" : gender, "name" : name, "math" : math, "enlish" : english}
In [8]:
# 데이터 프레임으로 전환
pd.DataFrame.from_dict(dic_list)
Out[8]:
age | gender | name | math | enlish | |
---|---|---|---|---|---|
0 | 16 | female | Bonnie | 77 | 65 |
1 | 18 | male | Matthew | 69 | 100 |
2 | 16 | female | Lillie | 78 | 73 |
3 | 15 | female | Elizabeth | 60 | 78 |
4 | 16 | male | Dean | 88 | 81 |
데이터 길이 조절이 가능한 random_Data 함수 제작
In [13]:
import names
import pandas as pd
import numpy as np
from random import *
def random_data(length=10):
# 10살 초과 19살 이하 나이 랜덤 생성
age = [randint(10, 18) for i in range(0, length)]
# 성멸 나이 랜덤 생성
gender = [choice(["male", "female"]) for i in range(0, length)]
# get_first_name 함수와 성별을 이용한 이름 랜덤 생성
name = [names.get_first_name(gender=g) for g in gender]
# 60 초과 100 이하 수학 및 영어 성적 랜덤 생성
math = [randint(60, 100) for i in range(0, length)]
english = [randint(60, 100) for i in range(0, length)]
# 딕셔너리 리스트형태로 전환
dic_list = {"age" : age, "gender" : gender, "name" : name, "math" : math, "enlish" : english}
# 데이터 프레임으로 전환
data_frame = pd.DataFrame.from_dict(dic_list)
return data_frame
In [14]:
random_data()
Out[14]:
age | gender | name | math | enlish | |
---|---|---|---|---|---|
0 | 14 | male | Ronald | 99 | 93 |
1 | 10 | female | Sharon | 95 | 75 |
2 | 16 | male | John | 89 | 61 |
3 | 13 | male | Richard | 100 | 91 |
4 | 12 | female | Luz | 65 | 67 |
5 | 14 | female | Bridgette | 60 | 100 |
6 | 15 | male | Pedro | 95 | 93 |
7 | 13 | female | Leta | 83 | 84 |
8 | 15 | male | Jason | 69 | 66 |
9 | 12 | male | Horace | 77 | 81 |
In [11]:
random_data(3)
Out[11]:
age | gender | name | math | enlish | |
---|---|---|---|---|---|
0 | 18 | female | Robin | 86 | 80 |
1 | 15 | male | Terrence | 82 | 63 |
2 | 12 | female | Vera | 62 | 84 |
In [12]:
random_data(4)
Out[12]:
age | gender | name | math | enlish | |
---|---|---|---|---|---|
0 | 15 | female | Darcy | 74 | 71 |
1 | 17 | male | John | 72 | 99 |
2 | 17 | female | Betty | 66 | 88 |
3 | 15 | male | Steven | 60 | 70 |
반응형
'python' 카테고리의 다른 글
파이썬 리스트 최대값 최소값 (0) | 2023.06.22 |
---|---|
matplotlib 사이즈 조절(plt.rcParams) (0) | 2023.06.20 |
dict to dataframe 딕셔너리를 데이터프레임으로 (0) | 2023.06.15 |
파이썬 기본 연산 (0) | 2023.06.12 |
파이썬 대괄호 포함 문자열 리스트로 변환하기 (0) | 2023.06.09 |
댓글