공부 기록 58

[SQL] 프로그래머스 - 동물의 아이디와 이름

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[SQL] 프로그래머스 - 어린 동물 찾기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[Data/Python] 데이터분석 정리 - 6

#개념 정리 #패스트캠퍼스 강의 정리 matplotlib import matplotlib.pyplot as plt plt.rc('font', family='NanumBarunGothic') plt.rcParams["figure.figsize"] = (12, 9) 1. 밑그림 그리기 1-1. 단일 그래프 # data 생성 data = np.arange(1, 100) # plot plt.plot(data) # 그래프를 보여주는 코드 plt.show() 1-2. 다중 그래프 1개의 canvas 안에 다중 그래프 그리기 data = np.arange(1, 51) data2 = np.arange(51, 101) plt.plot(data) plt.plot(data2) plt.plot(data2+50) plt.sho..

[SQL] 프로그래머스 - 아픈 동물 찾기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[SQL] 프로그래머스 - 역순 정렬하기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[SQL] 프로그래머스 - 모든 레코드 조회하기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[Data/Python] 데이터분석 정리 - 5

#개념 정리 #패스트캠퍼스 강의 정리 데이터 시각화 plot 그래프 일반 선 그래프 kind 옵션: line: 선 그래프 bar: 바 그래프 barh: 수평 바 그래프 hist: 히스토그램 kde: 커널 밀도 그래프 hexbin: 고밀도 산점도 그래프 box: 박스 플롯 area: 면적그래프 pie: 파이 그래프 scatter: 산점도 그래프 1. line 그래프 데이터가 연속적인 경우 사용하기 적합 (ex. 주가, 데이터) df['분양가'].plot(kind='line') 2. bar 그래프 그룹별로 비교할 때 유용 df.groupby('지역')['분양가'].mean().plot(kind='bar') df.groupby('지역')['분양가'].mean().plot(kind='barh') 3. 히스토그램..

[Data/Python] 데이터분석 정리 - 4

#개념 정리 #패스트캠퍼스 강의 정리 1. column 간 연산(+, -, *, /, %) df['통계'] + df['미술'] df['통계'] - df['미술'] df['통계'] * df['미술'] df['통계'] / df['미술'] df['통계'] % df['미술'] df['통계'] + 10 df['통계'] - 10 df['통계'] / 10 2. 복합 연산 df['통계미술합계'] = df['통계'] + df['미술'] + 10 df['통계'] + df['미술'] - df['체육'] 3. mean(), sum()을 axis 기준으로 연산 df.sum(axis=0) df.sum(axis=1) 4. NaN값이 존재할 경우 연산 NaN값을 연산할 경우 NaN값이 출력된다. df['통계'] / 2 df['통계'..

[Data/Python] 데이터분석 정리 - 3

#개념 정리 #패스트캠퍼스 강의 정리 1. fillna: 결측값 na에 대하여 채워주는 함수. 키가 없는 사람은 존재할 수 없기 때문에, 데이터가 잘 못 되었다는 것을 표기하기 위해서, 누락된 데이터를 -1로 채워보도록 한다. df['키'].fillna(-1) NaN 값이 -1로 바뀐 것을 볼 수 있다. 하지만, 키의 NaN 값을 채워준 다음 유지시키려면 inplace=True 옵션을 주거나, fillna로 채워 준 값을 다시 대입해야 한다. df['키'] = df['키'].fillna(-1) 2. 빈 값(NaN)이 있는 행 제거 df.dropna() 위의 행을 보면 2, 7, 10행이 사라진 것을 볼 수 있다. 또한 dropna()는 몇 가지 옵션을 추가할 수 있다. -axis(열/행 드랍) df.dr..

[Data/Python] 데이터분석 정리 - 2

#개념 정리 #패스트캠퍼스 강의 정리 1. isin을 활용한 색인 내가 조건을 걸고자 하는 값이 내가 정의한 list에 있을 때만 색인하려는 경우에 사용한다. my_condition = ['플레디스', 'SM'] df['소속사'].isin(my_condition) df.loc[ df['소속사'].isin(my_condition) ] 2. 결측값(Null) 알아보기 -NaN 값에 대하여 null값은 비어있는 값을 말한다. info() 메소드를 통해 전체적으로 어떤 column에 빠진 데이터가 있는지 알 수 있다. df['그룹'].isnull() -NaN이 아닌 값에 대하여 Boolean 인덱싱 df['그룹'].notnull() 3. copy(복사) copy는 dataframe을 복사할 때 사용한다. df를..