스터디 노트 56일차

손성우 (sacn1129)·2024년 4월 9일

SQL

목록 보기
54/57

Random Seed 만들기

import random

random.randint(0,10)

random.seed(42)

for _ in range(5):
print(random.randint(0,10))
#PSEUDO

grade = [l for l in 'ABCDF']

for _ in range(5):
print(grade[random.randint(0,len(grade)-1)])
print(random.choice(grade))

data = [random.choice(grade) for _ in range(5)]
data

data = random.choices(grade,k=5)
data

#Faker 라이브러리 설치
%pip install Faker

fake = Faker()

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

print(names)
print(first_names)
print(jobs)

fake = Faker('ko_KR')
Faker.seed(42)

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

print(names)
print(first_names)
print(jobs)

시리즈 생성과 구조

import pandas as pd
import numpy as np
import random
from faker import Faker

values = list(range(5))
index = [letter for letter in 'abcde']

print(values)
print(index)

series = pd.Series(values, index = index)
series

values[0] == series

py_dict = dict(zip(index , values ))
py_dict

series_dict = pd.Series(py_dict)
series_dict

py_dict.values() == series_dict
#dict는 순서가 상관없음 그냥 해당 키값에 해당하는 값을 가지는 목록들이고 , series는 순서가 상관있다. 그래서 서로 다름

list(py_dict.values()) == series_dict

시리즈 인덱싱 & 슬라이싱

random_seed = 42

fake = Faker('ko_KR')
Faker.seed(random_seed)

names = [fake.name() for _ in range(10)]
ages = [random.randint(25,50) for _ in range(10)]
index = [chr(ord('A') + i) for i in range(10)]

print(names)
print(ages)
print(index)

ns = pd.Series(names , index = index)
ns

print('ns[2]: ', ns[2])
print("ns['D']: ",ns['D'])

print("ns.loc['D']: ", ns.loc['D'])
print("ns.iloc[2]: " , ns.iloc[2])

print("ns.at['D']: ", ns.at['D'])
print("ns.iat[2]: " , ns.iat[2])

tmp = pd.Series(names[:3], index = [0,2,5])
display(tmp)
print('tmp[0]: ' , tmp[0]) #김수민
print('tmp.loc[2] :' , tmp.loc[2]) #서정남
print('tmp.iloc[2] :' , tmp.iloc[2]) #김영자
print('tmp[2]: ', tmp[2])

ns.loc['B':'E']
ns.iloc[1:5]
ns[1:5]

display(ns)
new_ns = ns['B':'E']
display(new_ns)

print(ns.iloc[0])
print(new_ns.iloc[0])

시리즈 속성

ns.index

ns.values

ns.dtype

ns.shape

ns.size

ns.hasnans

ns[0] = np.nan
print(ns)
print(ns.hasnans)

ns.is_unique

ns['I':'J'] = '강상구'
display(ns)
ns.is_unique

ns.name = '시리즈 테스트 - 이름'
ns

기능

ns.head()

ns.tail()

ns.unique()

ns.duplicated()
ns.duplicated(keep = 'last')

ns.value_counts()
ns.value_counts(dropna = False , ascending = True , sort = False )
ns.value_counts(normalize = True , dropna = False , sort = False )

ns.sort_values()

display(ns)
sorted_ns = ns.sort_values()
#ns.sort_values(inplace = True)
display(sorted_ns)

display(ns)
sorted_ns = ns.sort_values(na_position = 'first')
#ns.sort_values(inplace = True)
display(sorted_ns)

ns.describe()

profile
안녕하세용

0개의 댓글