본문 바로가기

Programming/Python11

빅데이터분석기사 실기 3유형 대비 정리 H0 - 귀무가설 (아무런 변화나 효과가 없다는 가설) H1 - 대립가설 (원하는 변화가 나타난다는 가설) 유의수준 - 귀무가설을 기각하는 기준이 되는 확률값 (일반적으로 0.05 또는 0.01) -> 유의확률(p-value)이 유의수준보다 작을 경우에 귀무가설 기각. 아니면 귀무가설 채택 t검정 - 단순평균(1집단, 독립) import pandas as pd from scipy import stats # 단순 표본 평균 simple_mean = data[['target']].mean().round(2) print(simple_mean[0]) # 대립가설 = target 평균이 160보다 작다 # 검정통계량, p-value tstat = stats.ttest_1samp(data[['target']], p.. 2023. 6. 20.
빅데이터분석기사 실기 대비 명령어 정리 데이터 불러오기 import pandas as pd data = pd.read_csv("위치/파일명.csv") 행렬 몇x몇인지 확인, 데이터 열 확인 print(data.shape) print(data.columns) 데이터의 기초통계량 확인 (데이터 개수, 평균, 표준편차, 사분위수, 최댓값, 최솟값) 데이터의 요약정보 확인 (컬럼별 null 여부, 타입, 데이터 크기 등) print(data.describe()) print(data['특정컬럼'].describe()) print(data.info()) 데이터 정렬하기 // 컬럼명1을 기준으로 내림차순 후 컬럼명2를 기준으로 오름차순 target = data.sort_values(by=['컬럼명1', '컬럼명2'], ascending=[False, Tr.. 2023. 5. 29.
플로이드 스타인버그 디더링 (Floyd–Steinberg dithering) 파이썬으로 구현하기 음악 스트리밍 서비스인 스포티파이(Spotify)의 셔플 알고리즘에 대해 공부하다가 플로이드 스타인버그 디더링을 응용하여 구현하였다길래 디더링이 무엇인지 찾아보고 구현해보았다. (설명 없이 코드만 보려면 맨 아래로..) 디더링? 디더링이란 제한된 색을 이용하여 음영이나 색을 나타내는 것이며, 여러 컬러의 색을 최대한 맞추는 과정이라고 한다. 찾아보니 이미지 외에 음악에도 사용되는 것 같은데, 고음질의 음원 (무손실 음원)을 최대한 오류를 줄이며 왜곡되지 않게 비트를 줄이는 것을 뜻하기도 한다. 압축과 비슷한 개념인가? 하는 생각도 들었다. 디더링 구현 전에 간단한 손 풀기 1 - 이미지 그레이 처리 from PIL import Image im = Image.open("fall.jpg") mode, siz.. 2020. 11. 20.
[파이썬] 백준 2156번: 포도주 시식 N = int(input()) wine = [0] maxi = [0]*(N+1) for i in range(1, N+1): wine.append(int(input())) if i < 3: maxi[i] = sum(wine) else: target = [] target.append(maxi[i-3]+wine[i-1]+wine[i]) target.append(maxi[i-2]+wine[i]) target.append(maxi[i-1]) maxi[i] = max(target) print(maxi[-1]) 다이나믹 프로그래밍 문제다. 처음에 DFS로 풀었는데 시간초과가 떠서 다시 풀었다. 포도주가 1잔 또는 2잔이 있을 때에는 그냥 모두 다 마시면 된다. 하지만 3잔째 부터는 선택을 해야 한다. 선택에는 3가지.. 2020. 6. 9.
[파이썬] 백준 17140번: 이차원 배열과 연산 def func(B, ga, se): # 가로로 한 줄씩 연산 실행하고 결과 반환 newlist = [[] for _ in range(ga)] # 저장할 리스트 maxi = 0 # 세로 최대값을 갱신 for i in range(ga): mydict = dict() # 라인 별 숫자를 세기 위한 딕셔너리 for j in range(se): if B[i][j] != 0: # 0은 무시한다 if B[i][j] in mydict: # 값이 있을 경우 +1 한다 mydict[B[i][j]] += 1 else: # 값이 없을 경우 1을 배치한다 mydict[B[i][j]] = 1 mylist = list(mydict.items()) # (key, value) 저장 mylist.sort(key=lambda x: (x.. 2020. 5. 28.
[파이썬] 백준 9251번: LCS 이 문제는 코드가 간단하지만 설명이 필요할 것 같아서 알고리즘을 시각화 시켜보았다. import copy A = input() B = input() mylist = [0]*len(B) for a in A: sublist = copy.deepcopy(mylist) for b in range(len(B)): if B[b] == a: if b != 0: target = max(mylist[:b]) else: target = 0 sublist[b] = target+1 mylist = sublist print(max(mylist)) 2020. 5. 25.