영업일 (Business day, working day) 시작 날짜부터 끝 날짜까지 총 몇 일의 working day가 있는지 카운트 pd.bdate_range import datetime import pandas as pd holidays_list = ['2022-05-05', '2022-05-08', '2022-06-01', '2022-06-06'] start_date = datetime.datetime.strptime('2022-05-01', "%Y-%m-%d").date() end_date = datetime.datetime.strptime('2022-05-30', "%Y-%m-%d").date() print (len(pd.bdate_range(start=start_date, end=end_dat..
Python에서 날짜, 시간 데이터 다루기 설명을 위한 Data Frame 생성 import pandas as pd time_df = pd.DataFrame({ '주문번호': ['1', '2', '3', '4', '5'], '주문일자': ['2022-07-11', '2022-07-11', '2022-07-11', '2022-07-11', '2022-07-11'], '주문시간': ['9:00', '9:30', '10:00', '10:30', '11:00'], '입금확인일시': ['2022-07-11 09:10', '2022-07-11 09:40', '2022-07-11 10:10', '2022-07-11 10:40', '2022-07-11 11:10'], '출고완료일시': ['2022-07-12 09:00..
DCL: GRANT, REVOKE DDL: CREATE, ALTER, DROP DML: INSERT, UPDATE, DELETE, SELECT SELECT * FROM _TABLE_ WHERE _COLUMN_='VALUE' INSERT INTO _TABLE_ (_COLUMN_) VALUES ('VALUE') UPDATE _TABLE_ SET (_COLUMN_='VALUE') WHERE CONDITION DELETE FROM _TABLE_ WHERE CONDITION SELECT TOP 100 * FROM _TABLE_ SELECT * FROM _TABLE_ WHERE _COLUMN_ IN ('VALUE', 'VALUE') 2개의 TABLE JOIN SELECT A.COL, B.COL FROM A INNE..
feature selcetion Variance Threshold: 입력 feature 가 상수임을 판단하는 기법이다. 출력의 변화와 비교하여 거의 변화하지 않는 입력 변수는 출력을 예측하는 입력 변수 군에서 제외. F-regression: 입력 변수와 출력 변수간의 correlation 기반의 regression 을 수행한 후, F-test 를 통해 입력 변수의 중요도를 판단하는 기법이다. 정규화를 위해 p-value 로 변환하고, 이를 통해 각 입력 변수들과 출력 변수의 상관도를 분석한다. (F-test: 두 표본의 분산에 대한 차이가 통계적으로 유의한가를 판별. ) Mutual Information regression: 상호 정보. Random Forest: 중요한 변수. Correlation pr..
Score, Cross-validated Scores Score: 새로운 데이터에 대한 적합(예측) 품질은 판단할 수 있는 점수 방법. Cross-validation generators Cross-validation: 교차 검증. 데이터를 훈련 세트와 테스트 세트로 반복적으로 분할하고 훈련 세트를 통해 훈련하고 테스트 세트를 기반으로 점수 계산. (학습/테스트 색인 목록 생성 기능 제공함.) Grid-search and cross-validated estimators 매개변수 그리드에서 추정기를 학습 시키는 동안 점수를 계산하고 교차 검증 점수를 최대화하기 위해 매개변수를 선택하는 객체 제공함. 기본적으로 5중 교차 검증. 최적의 하이퍼파라미터를 찾는 방법. 두 개의 교차 검증 루프가 병렬로 수행 됨. ..
K-NN X_train에서 새로운 관찰이 주어지면 training set에서 가장 가까운 feature 벡터가 있는 관찰을 찾는다. 차원의 저주: 추정기가 효과적이려면 인접 점 사이의 거리가 특정 값 d 보다 작아야한다. Linear regression 선형 회귀: 모델의 잔차 제곱의 합을 가능한 작게 만들기 위해 매개변수를 조정하여 선형 모델을 데이터 셋에 맞춘다. coefficient: 계수. regr.coef_: 각 변수의 계수를 알 수 있음. regr.score(X, y): Explained variance(설명된 분산). 0이면 X, y사이에 선형 관계가 없다. 차원 당 데이터 포인트가 적은 경우 관측치의 노이즈로 인해 높은 분산이 발생함. 릿지 회귀: 고차원 통계 학습의 솔루션은 회귀 계수를 ..
import numpy as np import pandas as pd from sklearn.metrics import r2_score, mean_squared_error def r2_rmse( g ): r2 = r2_score( g['Actual'], g['Predicted'] ) rmse = np.sqrt( mean_squared_error( g['Actual'], g['Predicted'] ) ) return pd.Series( dict( r2 = r2, rmse = rmse ) ) your_df.groupby( 'Type' ).apply( r2_rmse ).reset_index() data frame에서 group by 후 custom된 집계함수 사용
목적 지도 위에 우편 번호를 표시합니다. folium을 이용한 지도 위 우편번호 표시 데이터 준비 1. 권역코드-우편번호 csv파일(code-bas_id_euc-kr.csv) 파일다운로드: 지리 데이터 시각화(4) - folium으로 명목형 choropleth 지도 그리기, tool tip 사용 2. 서울시 기초 구역도 geo json파일(TL_KODIS_BAS_W.json) 파일다운로드: 지리 데이터 시각화(2) - 좌표계 변경 (UTM-K -> WGS84), GeoJSON colab에서 작업을 하였습니다. 위에서 만든 두 파일을 불러옵니다. 필요한 라이브러리를 import 합니다. import folium from folium import plugins import pandas as pd import..
value_count(값의 개수) / 차집합 'col2'라는 공통 컬럼을 가진 두 데이터 프레임을 비교하여 df2에는 있는데 df1에는 없는 'col2'값을 찾겠습니다. d1 = {'col1': ['a', 'b', 'c'], 'col2': [1, 2, 3]} df1 = pd.DataFrame(data=d1) drop_duplicates() d2 = {'col2':[2, 3, 3, 4]} df2 = pd.DataFrame(data=d2) # df2 내에서 중복된 값을 없애준다. df2 = df2.drop_duplicates().reset_index(drop=True) 위와 같이 두 Data Frame이 있을 때 df2에는 있고 df1에는 없는 '4'라는 값을 찾겠습니다. 먼저 df1에 df2를 concat..
drop id max # index 가 제일 큰 행 drop df = df.drop(df['col1'].idxmax()) String to datetime d = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'dt':['2022.03.05', '2022.07.11', '2022.12.31']} df = pd.DataFrame(data=d) # (1) pd.to_datetime # errors='coerce': 변경할 수 없으면 NaT 반환 df['dt'] = pd.to_datetime(df['dt'], errors='coerce') # (2) str datetime a = pd.to_datetime(df['dt'], format='%Y.%m.%d') # str -> datetim..
- Total
- Today
- Yesterday