SQL - 여러 테이블 JOIN, SQL JOIN 사용 시 유용한 팁, UNION, UNION ALL
·
Data Analyst/SQL
여러 테이블 JOIN- SQL에서 두 개 이상의 테이블을 JOIN할 때는 테이블 간의 관계를 명확히 이해하는 것이 중요합니다.- 여러 테이블을 JOIN하는 과정은 직관과 명확한 연결 방식이 필요합니다. 여러 테이블 JOIN의 단계여러 테이블을 JOIN할 때는 단계적으로 접근하는 것이 좋습니다:첫 번째 단계: 두 개의 테이블을 기본적으로 JOIN합니다.두 번째 단계: 첫 번째 JOIN의 결과를 다른 테이블과 다시 JOIN합니다.세 번째 단계 이후: 동일한 방식으로 추가적인 테이블을 계속 JOIN합니다.이 과정에서 각 테이블의 공통 열을 기준으로 JOIN 조건을 설정해야 하며, JOIN 방식은 INNER JOIN, LEFT JOIN, RIGHT JOIN 등 상황에 맞게 선택할 수 있습니다./* 3개의 테이블..
ML - PANDAS(Combining DataFrames)
·
Data Analyst/ML
연결(Concatenation):pd.concat() 함수를 사용하여 데이터프레임을 수직 또는 수평으로 연결합니다.이 방법은 인덱스나 열이 동일한 데이터프레임을 연결할 때 유용합니다.# 데이터 만들기data_one = {'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3']}data_two = {'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}# 데이터프레임으로 변환one = pd.DataFrame(data_one)two = pd.DataFrame(data_two) # concat을 사용하여 데이터 프레임 합치기, axis=0 행을 기준으로 합치기axis0 = pd.concat([one,two..
SQL - RIGHT JOIN, SQL 조인 구문: 새로운 방식과 오래된 방식, CROSS JOIN
·
Data Analyst/SQL
RIGHT JOIN- 오른쪽 테이블의 모든 레코드를 포함하며, 왼쪽 테이블에서 일치하는 레코드가 있으면 이를 결합합니다.- 실제로 RIGHT JOIN은 LEFT JOIN과 테이블 순서만 바꿔서 사용할 수 있습니다. 결과는 동일하지만, 조인 방향이 반대가 됩니다SELECT d.dept_no, m.emp_no, d.dept_nameFROM dept_manager_dup m RIGHT JOIN departments_dup d ON m.dept_no = d.dept_noORDER BY dept_no;SQL 조인 구문: 새로운 방식과 오래된 방식오래된 조인 구문에서는 WHERE 절을 사용하여 테이블을 결합합니다SELECT t1.column_name, t2.column_nameFROM..
SQL - INNER JOIN, DUPLICATED, LEFT JOIN
·
Data Analyst/SQL
INNER JOIN- INNER JOIN은 두 테이블 간의 공통된 값을 가진 레코드만을 결합하여 결과로 반환합니다.- 이 조인 방식에서는 두 테이블에 모두 존재하는 레코드만 결과에 포함되며, 어느 한 테이블에만 존재하는 값은 결과에 포함되지 않습니다 - 벤 다이어그램을 생각 하면 교집합과 같다 보시면 될 거 같습니다./*dept_manager_dup와 departments_dup 에서의 dept_no가 설정된 관리자 데이터를 추출하는 쿼리입니다.예를 들어 departments_dup에서 dept_no ='d002'가 없고 dept_manager_dup에는 있다면 해당 데이터는 추출하지 안습니다.*/SELECT m.dept_no, m.emp_no, d.dept_nameFROM dept_mana..
ML - PANDAS(Useful Methods) - 2
·
Data Analyst/ML
Pandas에서 자주 사용하는 메서드 및 함수 소개 - 2replacereplace 메서드는 값들을 다른 값으로 빠르게 대체할 수 있는 방법입니다.이 메서드를 사용하면 데이터프레임이나 시리즈 내의 특정 값을 원하는 값으로 일괄적으로 바꿀 수 있습니다. # to_replace가 바꿀 값을 입력# value가 어떤 것으로 바꿀지 입력하는 것df['Tip Quality'].replace(to_replace='Other',value='Ok')unique- unique 메서드는 해당 DataFrame의 컬럼명의 값들의 고유값 가져옵니다.즉, 중복을 없앤 값들을 가져오는 방법입니다.df['size'].unique()# 결과 : array([2, 3, 4, 1, 6, 5], dtype=int64)# 고유값 개수를 세..
ML - PANDAS(Useful Method) - 1
·
Data Analyst/ML
Pandas에서 자주 사용하는 메서드 및 함수 소개소개할 매서드와 함수는 데이터 처리 및 분석 과정에서 매우 유용하며, Pandas 문서를 통해 더 많은 기능들을 탐색할 수 있습니다. The .apply() method- 이 메서드를 사용하면 데이터프레임의 열(column)에 사용자 정의 함수를 적용하고, 해당 함수를 열 전체에 브로드캐스트(적용)할 수 있습니다.# 숫자에서 마지막 4개의 숫자만 가져온다.def last_four(num): return str(num)[-4:] df['last_four'] = df['CC Number'].apply(last_four) df['last_four']- 이와 같이 모든 열의 값들이 사용자 정의 함수들을 적용한 결과로 바뀌게 되었습니다. apply()..
ML - PANDAS(Condition-Filtering)
·
Data Analyst/ML
Condition - 조건- DataFrame에 조건을 추가하여 해당 조건에 부합하는 DataFrame을 출력하는 것들을 보여드리겠습니다.- 이제 보여줄 코드들은 매우 쉬운 코드들로 연산자를 사용하여 필터링 한다 보면 될 거 같습니다.# total_bill의 값이 30보다 큰 값들의 데이터 프레임을 가져온다.bool_series = df['total_bill'] > 30df[bool_series]# 위의 코드와 같은 것이지만 아래 방법으로도 사용 가능하다.df[df['total_bill']>30]- 위의 그림과 같이 total_bill을 확인하면 30보다 큰 값들을 가져온 것을 확인 할 수 있습니다. # 숫자만 가능한 것이 아닌 파이썬에서 사용하는 방식 그대로 문자열 또한 가능하다.df[df['sex']..
SQL - DELETE, TRUNCATE, Aggregate functions(집계함수), IFNULL - COALESCE
·
Data Analyst/SQL
DELETE- 데이터베이스에서 특정 조건에 맞는 데이터를 삭제하는 데 사용됩니다.-- 해당 쿼리는 emp_no가 999903인 데이터를 지웁니다.DELETE FROM employees WHERE emp_no = 999903;- 주의사항 : where절을 넣지 않으면 해당 테이블의 모든 데이터가 삭제됩니다.DROP vs TRUNCATE vs DELETE: 차이점1. DROPDROP 명령어는 테이블 자체를 삭제 특징: 테이블의 모든 데이터와 구조가 제거됨.사용 예시: DROP TABLE table_name;주의사항: 롤백 불가. 테이블이 완전히 삭제되므로 신중하게 사용해야 함.2. TRUNCATETRUNCATE 명령어는 테이블의 모든 데이터를 삭제하지만, 테이블 구조와 인덱스, 제약 조건은 그대로 유지..
ML - PANDAS(DATA FRAME) - 2
·
Data Analyst/ML
Data Frame - 2Data Frame 인덱스 선택하기- column들을 기반으로 선택하는 방법입니다.- 딕셔너리에서 키값을 넣으면 값이 나오는 방법 처럼 해당 컬럼명을 넣으면 해당 컬럼의 값들이 출력 됩니다.df['total_bill']- 그리고 위의 코드 결과의 타입은 Series 타입입니다. - 이번에는 두 개의 컬럼을 가져오겠습니다.# 여기서 중요한 점은 두 개의 컬럼을 가져오는 경우 이중 대괄호를 사용해야 한다.df[['total_bill','tip']]- 여기서 위의 코드에서도 말했듯이 두 개 이상의 컬럼을 사용하는 경우에는 이중 대괄호를 사용해야 합니다.- 이유 : 이중 대괄호를 사용한다는 것은 타입이 DataFrame 값을 출력하는 것입니다. 또 한 가지를 저희는 기억해야 합니다. S..
ML - PANDAS(Data Frame) - 1
·
Data Analyst/ML
Data Frame - 1- 데이터 분석에 유용한 2차원 데이터 구조입니다.- 엑셀의 시트나 SQL 테이블과 비슷한 형식을 가지며, 행(row)과 열(column)로 이루어져 있습니다.- 이를 활용하면 대용량 데이터를 쉽게 조작할 수 있습니다. Data Frame 생성하기- pd.DataFrame(data=값, index=인덱스명, column=컬럼명) 이런 형식으로 데이터 프레임을 생성 할 수 있습니다.- 아래코드를 확인 하겠습니다.# numpy를 사용하여 난수를 고정시킨 후 4행 3열의 배열을 만들게 된다.np.random.seed(101)mydata = np.random.randint(0,101,(4,3))# 인덱스에 넣을 값 변수에 저장myindex = ['CA','NY','AZ','TX']# 컬..
hmm06
hmm06 님의 블로그