Pandas에서 헤더(열 이름)가 없는 CSV 파일을 다루거나 헤더 처리를 직접 제어하고 싶을 때는 read_csv() 메서드의 names와 header 매개변수를 활용하면 됩니다. 처리 단계 CSV 파일 경로를 변수 file_path에 저장합니다. read_csv() 메서드에 탭(tab) 구분자(sep=\t)와 새 열 이름(names)을 지정하여 DataFrame을 생성합니다. 생성된 DataFrame을 출력합니다. header=0 옵션을 추가하면 파일의 첫 번째 행이 헤더로 인식되어 데이터에서 제외되고, 대신 names로 지정
Pandas DataFrame 두 개 이상을 열 방향으로 연결하기두 개 이상의 Pandas DataFrame을 하나로 합치려면 concat() 메서드를 사용하면 됩니다. 이때 열 방향(좌우로 나란히 붙이는 형태)으로 연결하려면 axis 매개변수를 axis=1로 설정해야 합니다.먼저 필요한 라이브러리를 임포트합니다.import pandas as pd첫 번째 DataFrame 생성dataFrame1 = pd.DataFrame( { Col1: [10, 20, 30], Col2: [40, 50, 60],
Pandas에서는 다양한 비교 조건을 사용해 DataFrame의 열(column) 값을 손쉽게 필터링할 수 있습니다. df[col] < 5, df[col] == 10 같은 비교 연산을 수행하면, 해당 열의 모든 값을 하나씩 검사하여 조건을 만족하면 True, 만족하지 않으면 False를 반환합니다.예를 들어 df[col] > 2라는 조건을 적용하면, col 열의 각 값이 2보다 큰지 여부를 판별한 결과가 불리언(Boolean) 시리즈 형태로 출력됩니다. 이러한 불리언 마스크는 이후 실제 데이터를 선택하거나 필터링하는 데
Pandas의 value_counts() 메서드를 사용하면 DataFrame 특정 열에 포함된 고유한 값의 이름과 각 값이 등장한 횟수(개수)를 손쉽게 확인할 수 있습니다. 이 글에서는 예제를 통해 값 이름과 개수를 추출하는 방법을 단계별로 살펴보겠습니다.1. 예제용 DataFrame 생성먼저 4개의 열을 가진 DataFrame을 생성합니다.dataFrame = pd.DataFrame({ Car: [BMW, Mustang, Tesla, Mustang, Mercedes, Tesla, Audi], Cubic Capacity:
Pandas에서는 슬라이싱(slicing)을 활용하여 두 인덱스 값 사이에 있는 DataFrame의 행을 손쉽게 선택할 수 있습니다. 이 글에서는 예제를 통해 그 방법을 단계별로 살펴보겠습니다.처리 단계2차원이며 크기 변경이 가능하고 이질적인 데이터형을 가질 수 있는 표 형태 데이터인 df DataFrame을 생성합니다.입력 DataFrame인 df를 출력합니다.인덱스의 하한(lower limit) 값을 저장할 변수를 초기화합니다.인덱스의 상한(upper limit) 값을 저장할 변수를 초기화합니다.df[index_lower_lim
Pandas 데이터프레임(DataFrame)을 하나의 엑셀 파일에 여러 시트로 나누어 저장하려면 pd.ExcelWriter() 메서드를 사용하면 됩니다. ExcelWriter()를 사용하기 전에 openpyxl 패키지가 설치되어 있는지 먼저 확인하세요.openpyxl이 설치되어 있지 않다면 다음 명령으로 간단히 설치할 수 있습니다.pip install openpyxl진행 단계2차원 형태의, 크기가 가변적이며 이질적인 데이터를 포함할 수 있는 표 형태의 데이터프레임 df1을 생성합니다.입력 데이터프레임 df1을 출력하여 확인합니다.또
두 개 이상의 Pandas DataFrame을 하나로 합치려면 concat() 메서드를 사용하면 됩니다. 이때 axis 매개변수를 axis=0으로 설정하면 행(row) 방향으로 연결됩니다. 먼저 필요한 라이브러리를 임포트합니다. import pandas as pd 첫 번째 DataFrame 생성 dataFrame1 = pd.DataFrame( { Col1: [10, 20, 30], Col2: [40, 50, 60], Col3: [70, 80, 90], }, index=
데이터 분석 작업을 하다 보면 DataFrame의 내용을 파일로 저장했다가 나중에 다시 불러와야 하는 경우가 자주 발생합니다. 판다스(Pandas)에서는 to_json() 메서드와 read_json() 메서드를 사용하여 DataFrame을 JSON 파일로 저장하고 다시 읽어올 수 있습니다.처리 순서2차원이면서 크기가 변경 가능한, 이질적인 데이터를 담을 수 있는 표 형태의 데이터 구조인 DataFrame(df)을 생성합니다.입력으로 사용된 DataFrame(df)을 출력하여 확인합니다.to_json() 메서드를 사용하여 DataFr
두 개의 DataFrame에서 공통된 행을 찾으려면 Pandas의 merge() 함수를 사용하면 됩니다. 이때 how 매개변수를 inner로 지정하는데, 이는 SQL의 INNER JOIN과 동일한 방식으로 작동하기 때문입니다. inner 조인은 양쪽 DataFrame에 모두 존재하는 행만 결과로 남깁니다. 1. DataFrame 생성하기 먼저 두 개의 컬럼(Car, Reg_Price)을 가진 첫 번째 DataFrame을 만들어 보겠습니다. dataFrame1 = pd.DataFrame( { Car: [BMW, L
Pandas DataFrame을 딕셔너리(dict)로 변환하려면 to_dict() 메서드를 사용하면 됩니다. 이 메서드는 DataFrame의 데이터를 파이썬 딕셔너리 형태로 간편하게 변환해 주며, orient 옵션을 활용하면 다양한 구조로 출력할 수도 있습니다.예제를 통해 실제 변환 과정을 살펴보겠습니다.변환 단계2차원 표 형태이면서 크기가 가변적이고 서로 다른 데이터 타입을 담을 수 있는 데이터(DataFrame)를 생성합니다.입력 DataFrame인 df를 출력합니다.to_dict() 메서드를 사용해 DataFrame을 딕셔너리
Pandas에서 DataFrame의 처음 세 행을 삭제하려면 iloc() 메서드를 사용할 수 있습니다. iloc는 위치 기반(정수 인덱스) 인덱싱을 지원하기 때문에, 행 번호를 기준으로 원하는 범위의 데이터를 간단하게 잘라낼 수 있습니다. 처리 순서 2차원 구조이면서 크기 변경이 가능한 표 형태의 데이터(DataFrame) df를 생성합니다. 입력 DataFrame인 df를 출력하여 원본 데이터를 확인합니다. df.iloc[3:]를 사용해 처음 세 행을 제거합니다. 변경된 DataFrame을 출력하여 결과를 확인합니다. 동작 원
Pandas DataFrame에서 특정 행 그룹에 접근하려면 loc() 메서드를 사용하면 됩니다. 예를 들어 df.loc[2:5]를 호출하면 인덱스 레이블 2부터 5까지의 모든 행이 선택됩니다. 처리 단계 2차원이며 크기 변경이 가능한 표 형태의 데이터 구조인 DataFrame df를 생성합니다. 입력 DataFrame df를 출력하여 원본 데이터를 확인합니다. df.loc[2:5]를 사용해 인덱스 2부터 5까지의 행을 선택합니다. 필터링된 새로운 DataFrame을 출력합니다. 예제 코드 import pandas as pd
Pandas에서 DataFrame의 열(컬럼) 이름을 변경하는 것은 매우 간단합니다. rename() 메서드를 호출한 뒤, 변경할 기존 열 이름과 새로 지정할 열 이름만 전달하면 됩니다. 아래 예제를 통해 실제 사용 방법을 단계별로 살펴보겠습니다. 처리 순서 2차원 테이블 형태로, 크기가 가변적이고 서로 다른 자료형도 담을 수 있는 DataFrame 객체 df를 생성합니다. 입력 DataFrame df를 화면에 출력합니다. rename() 메서드를 사용해 열 이름을 변경합니다. 여기서는 열 x를 새로운 이름 new_x로 바꿉니다
정규식(Regular Expression, Regex)은 특정 검색 패턴을 정의하는 문자 시퀀스입니다. Pandas에서 정규식을 사용해 행을 필터링하려면 str.match() 메서드를 활용하면 됩니다. 필터링 절차 크기 변경이 가능한 2차원 표 형태의 데이터인 DataFrame df를 생성합니다. 입력 DataFrame df를 출력해 데이터 구조를 확인합니다. 정규식 표현식을 담을 변수 regex를 초기화합니다. 예를 들어 문자열 J.*는 J로 시작하는 모든 항목을 의미합니다. df.column_name.str.match(rege
Pandas에서는 .corr() 메서드를 활용하면 두 열(column) 간의 상관 관계를 아주 간단하게 계산할 수 있습니다. 이 메서드는 기본적으로 피어슨(Pearson) 상관 계수를 반환하며, 그 값은 -1부터 1 사이입니다. 아래에서 예제를 통해 실제 적용 방법을 단계별로 살펴보겠습니다. 상관 관계 값의 의미 +1에 가까울수록: 두 변수 사이에 강한 양(+)의 선형 관계가 있습니다. -1에 가까울수록: 두 변수 사이에 강한 음(-)의 선형 관계가 있습니다. 0에 가까울수록: 선형적인 관계가 거의 없습니다. 구현 단계 2
Pandas에서 특정 열의 최댓값을 찾고, 그 값이 속한 행의 나머지 값들까지 함께 반환하려면 df.loc[df[col].idxmax()]를 사용하면 됩니다. 여기서 idxmax()는 해당 열에서 최댓값이 위치한 인덱스를 반환하고, loc은 그 인덱스에 해당하는 전체 행을 가져옵니다. 예제를 통해 자세히 살펴보겠습니다.처리 단계2차원이면서 크기 변경이 가능하고 서로 다른 타입의 데이터를 담을 수 있는 표 형태의 데이터프레임 df를 생성합니다.입력 DataFrame인 df를 출력합니다.최댓값을 찾고자 하는 열 이름을 변수 col에 지
Pandas에서 데이터프레임의 숫자형(numeric) 열만 골라내고 싶다면 select_dtypes() 메서드를 활용하면 됩니다. 핵심은 원하는 데이터 타입(예: int16, int32, int64)의 목록을 만들어 include 인자로 전달하는 것입니다. 예제를 통해 실제 적용 방법을 단계별로 살펴보겠습니다. 처리 단계 2차원 구조에 크기 변경이 가능하고 서로 다른 자료형을 담을 수 있는 표 형태의 데이터(DataFrame) df를 생성합니다. 입력 DataFrame df를 출력해 내용을 확인합니다. 선택할 데이터 타입 목록,
Pandas DataFrame에서 n번째 행을 가져오려면 iloc() 메서드를 사용하면 됩니다. 예를 들어 df.iloc[4]는 행 인덱스가 0부터 시작하기 때문에 다섯 번째 행을 반환합니다. 즉, 원하는 행의 순서에서 1을 뺀 값을 인덱스로 지정해야 합니다.iloc()는 정수 위치(integer-location) 기반 인덱싱을 지원하는 메서드로, 라벨이 아닌 행의 위치 값을 기준으로 데이터에 접근합니다. 반면 라벨 기반으로 접근하려면 loc() 메서드를 사용해야 합니다.처리 단계2차원 구조이면서 크기 변경이 가능하고 서로 다른 타
Pandas에서 한 DataFrame의 행을 다른 DataFrame에 추가하려면 append() 함수를 사용할 수 있습니다. 이 함수는 행뿐만 아니라 열을 추가할 때도 활용할 수 있습니다. 예제를 통해 사용 방법을 자세히 살펴보겠습니다. ⚠️ 중요 참고: append() 메서드는 Pandas 1.4.0부터 지원 중단(deprecated)되었으며, Pandas 2.0부터는 완전히 제거되었습니다. 최신 버전의 Pandas에서는 pd.concat() 함수를 사용해야 합니다. 아래에서 두 가지 방법을 모두 소개합니다. 처리 단계
Pandas의 shift() 메서드를 활용하면 DataFrame 전체를 다시 작성하지 않고도 특정 열의 데이터를 원하는 만큼 위아래로 이동시킬 수 있습니다. 이전 행과 현재 행의 값을 비교하거나 시계열 데이터를 다룰 때 특히 유용한 기능입니다. shift() 메서드의 주요 매개변수 shift() 메서드는 아래와 같은 형태로 정의되어 있습니다. shift(self, periods=1, freq=None, axis=0, fill_value=None) periods: 데이터를 이동할 칸 수입니다. 음수를 지정하면 반대 방향으로 이동합니