문제 개요도시(City)와 주(State) 두 개의 열을 가진 DataFrame이 있을 때, 도시 이름과 주 이름이 모두 K로 시작하는 행만 필터링하여 새로운 CSV 파일로 저장하는 프로그램을 파이썬으로 작성해 보겠습니다.예를 들어, 아래와 같은 결과가 출력되어야 합니다.City,State Kochi,Kerala해결 방법이 문제는 다음 단계를 따라 해결할 수 있습니다.먼저 도시와 주 정보를 담은 DataFrame을 정의합니다.pandas의 str.startswith() 메서드를 사용해 도시 이름과 주 이름이 모두 K로 시작하는지 확
이 글에서는 pandas를 사용해 주어진 DataFrame에 포함된 윤년(leap year)의 총 개수를 구하는 방법을 알아보겠습니다.문제 정의연도(year)와 해당 연도의 일수(days)를 담고 있는 DataFrame이 있다고 가정해 보겠습니다.DataFrame is year days 0 2002 365 1 2004 366 2 2012 366 3 2018 365 4 2020 366윤년은 2월이 29일까지 있어 한 해가 366일인 해를 의미합니다. 따라서 위 데이터에서 윤년은 2004년, 2012년, 2020년으로 총 3개입니다
이 글에서는 Pandas의 groupby() 메서드를 사용하여 DataFrame을 특정 열(직위, Designation) 기준으로 그룹화한 뒤, 각 그룹에 속한 레코드의 개수를 계산하는 방법을 알아봅니다.문제 정의다음과 같은 DataFrame이 있고, 이를 Designation(직위) 열을 기준으로 그룹화하여 레코드 수를 집계한다고 가정해 보겠습니다.Designation architect 1 programmer 2 scientist 2즉, architect는 1명, programmer는 2명, scientist는
이 글에서는 Python의 pandas 라이브러리를 사용하여 시리즈(Series) 데이터의 기본 부동 소수점 분위수 값을 계산하는 방법을 알아봅니다.문제 정의입력 조건 −하나의 시리즈가 주어져 있고, 기본 부동 소수점 분위수 값은 3.0이라고 가정합니다.value is 3.0분위수(Quantile)란?분위수는 데이터를 오름차순으로 정렬했을 때 특정 위치에 해당하는 값을 의미합니다. 예를 들어 중앙값(median)은 0.5 분위수에 해당하며, 데이터의 50% 지점에 있는 값입니다. pandas에서는 quantile() 메서
이 글에서는 pandas DataFrame의 첫 번째 열을 오른쪽으로 이동(shift)하고, 사용자로부터 입력받은 값이 3과 5로 모두 나누어지는 경우 누락된 값을 해당 값으로 채우는 Python 프로그램을 작성하는 방법을 단계별로 알아보겠습니다.입력 예시다음과 같은 DataFrame이 있다고 가정해 보겠습니다. 첫 번째 열을 이동하고 누락된 값을 채우면 결과는 아래와 같습니다. one two three0 1 10 1001 2 20 2002 3 30 300enter the value 1
개요pandas DataFrame에서 인덱스(행)와 열을 서로 뒤바꾸는 전치(transpose) 작업은 데이터 분석에서 자주 사용되는 기본 연산입니다. 이 글에서는 파이썬으로 DataFrame을 전치하는 세 가지 방법을 예제 코드와 실행 결과와 함께 자세히 살펴봅니다.입력 데이터 −다음과 같은 DataFrame이 있다고 가정했을 때, 인덱스와 열을 전치한 결과는 아래와 같습니다.전치된 DataFrame은 0 1 0 1 4 1 2 5 2 3 6방법 1: 중첩 리스트 컴프리헨션 활용DataFrame을 정의합니다.중첩 리스트 컴프리
부울(True/False) 값을 담고 있는 판다스 시리즈가 하나 주어져 있고, 이 시리즈에 대한 각 부울 연산의 결과가 아래와 같다고 가정해 보겠습니다. AND 연산 결과: 0 True 1 True 2 False dtype: bool OR 연산 결과: 0 True 1 True 2 True dtype: bool XOR 연산 결과: 0 False 1 False 2 True dtype: bool 해결 방법 이 문제는 다음과 같은 단계로 해결할 수 있습니다. 시리즈 정의
학생 기록(student records)이 저장되어 있는 sqlite3 데이터베이스가 있다고 가정해 보겠습니다. 이 데이터베이스의 모든 데이터를 읽어오면 다음과 같은 결과를 얻을 수 있습니다. Id Name 0 1 stud1 1 2 stud2 2 3 stud3 3 4 stud4 4 5 stud5 해결 방법 이 문제를 해결하기 위해 아래 단계를 순서대로 따라 해 보겠습니다. 먼저 새로운 데이터베이스 연결(connection)을 정의합니다. con = sqlite3.connect("db.sqlite3"
문제 개요pandas 라이브러리를 사용하면 DataFrame 내부의 최솟값을 손쉽게 계산할 수 있습니다. 이번 글에서는 주어진 DataFrame에서 각 행의 최솟값을 새로운 열로, 그리고 각 열의 최솟값을 새로운 행으로 추가하는 방법을 단계별로 알아보겠습니다.예시 데이터프레임다음과 같은 데이터프레임이 있다고 가정해 보겠습니다. one two three 0 12 13 5 1 10 6 4 2 16 18 20 3 11 15 58최종적으로 원하는 결과는 아래와 같습니다.
이 글에서는 pandas DataFrame의 대각선(diagonal)에 위치한 모든 값을 1로 변경하는 프로그램을 Python으로 작성하는 방법을 알아보겠습니다.문제 정의예를 들어 다음과 같은 DataFrame이 있다고 가정해 보겠습니다. 0 1 2 0 10 20 30 1 40 50 60 2 70 80 90대각선 위치의 값들을 1로 교체하면 결과는 다음과 같습니다. 0 1 2 0 1 20 30 1 40 1 60 2 70 80 1해결 방법이 문제를 해결하기 위해 아래 단계
문제 개요 모음(a, e, i, o, u)으로 구성된 10행 2열의 랜덤 데이터프레임을 생성하고, 두 열(col1, col2)의 값이 서로 일치하는 행을 찾아 해당 인덱스와 일치 개수를 출력하는 프로그램을 작성해 보겠습니다. 다음과 같은 데이터프레임이 있다고 가정해 보겠습니다. col1 col2 0 o e 1 e e 2 i u 3 e o 4 i i 5 u o 6 e a 7 u o 8 a u 9 e a 두 열의 값이 일치하는 행의 인덱스와 개수를 출력하면 결과는 다음과 같습니다.
데이터 분석 작업을 하다 보면 서로 다른 두 개의 데이터프레임을 하나의 공통 열(키)을 기준으로 합쳐야 하는 경우가 자주 발생합니다. 이번 글에서는 pandas의 merge() 함수를 사용하여 동일한 열 값을 가진 행들만 병합하는 방법을 알아보겠습니다.문제 상황다음과 같은 두 개의 데이터프레임이 있다고 가정해 보겠습니다.첫 번째 데이터프레임 id country 0 1 India 1 2 UK 2 3 US 3 4 China 두 번째 데이터프레임 id City 0 1 Chennai 1 11 Cambridge 2 2
데이터 분석 작업을 하다 보면 데이터프레임에서 특정 조건에 맞는 행을 무작위로 추출해야 하는 경우가 종종 있습니다. 이번 글에서는 pandas DataFrame에서 홀수 인덱스에 해당하는 행 중 하나를 무작위로 선택하는 파이썬 프로그램을 단계별로 살펴보겠습니다. 문제 정의 가령 다음과 같은 데이터프레임이 있다고 가정해 보겠습니다. DataFrame is: id mark age 0 1 70 12 1 2 60 13 2 3 40 12 3 4 50 13 4 5 80 12 5 6 90 13 6 7 60 12 여기
데이터 분석을 하다 보면 시리즈(Series) 안에서 가장 자주 등장하는 값, 즉 최빈값을 찾아야 하는 경우가 종종 있습니다. 이 글에서는 파이썬(Python)의 판다스(pandas) 라이브러리를 활용해 시리즈에서 가장 많이 반복되는 요소를 찾는 프로그램을 단계별로 작성해 보겠습니다.문제 정의예를 들어 다음과 같은 시리즈가 있다고 가정해 보겠습니다.Series is:0 11 222 33 44&nbs
pandas를 사용하다 보면 DataFrame에서 불필요한 열(column)을 제거해야 하는 경우가 자주 발생합니다. 이 글에서는 하나의 열을 삭제하는 방법부터 여러 개의 열을 한 번에 삭제하는 방법까지 다양한 방식을 예제와 함께 살펴보겠습니다.먼저 다음과 같은 DataFrame이 있다고 가정해 보겠습니다. one two three 0 1 2 3 1 4 5 6하나의 열(one)을 삭제한 결과는 다음과 같습니다.
데이터 분석 작업 중에는 pandas 데이터프레임의 행 순서를 변경해야 하는 경우가 종종 발생합니다. 이 글에서는 iloc 위치 기반 인덱싱을 활용해 데이터프레임의 마지막 두 행을 서로 맞바꾸는 간단하고 효율적인 방법을 알아보겠습니다. 예를 들어 아래와 같은 학생 성적 데이터프레임이 있을 때, 마지막 두 행(Alex와 Serina)의 위치를 서로 교환해 보겠습니다. 교환 전 Name Age Maths Science English 0 David 13 98 75 79 1 Adam
데이터프레임이 있고, float 타입의 열을 int 타입으로 변환하면 결과가 다음과 같이 나타난다고 가정해 보겠습니다.변환 전 Name object Age int64 Maths int64 Science int64 English int64 Result float64 dtype: object 변환 후 Name object Age int64 Maths int64 Science int64 English int64 Result int64 dtype: objec
데이터프레임이 하나 있고, 그 안의 시리즈(Series)에 담긴 모든 데이터를 무작위로 섞었을 때 결과가 다음과 같다고 가정해 보겠습니다. 원본 시리즈 0 1 1 2 2 3 3 4 4 5 dtype: int64 섞인 후의 시리즈 : 0 2 1 1 2 3 3 5 4 4 dtype: int64 방법 1 — random.shuffle() 함수 사용 시리즈를 정의합니다. random.shuffle() 메서드에 시리즈 데이터를 인수로 전달하면 해당 시리즈가 제자리(in-place)에서
암스트롱 수(Armstrong Number)는 각 자릿수를 세제곱하여 모두 더한 값이 원래 수와 같아지는 수를 말합니다. 예를 들어, 153은 1³ + 5³ + 3³ = 1 + 125 + 27 = 153이므로 암스트롱 수입니다. 이 글에서는 판다스(Pandas) 시리즈에 담긴 숫자 중에서 암스트롱 수만 골라내는 방법을 단계별로 살펴보겠습니다. 다음과 같은 시리즈가 있고, 여기서 암스트롱 수를 필터링한 결과를 얻는다고 가정해 보겠습니다. original series is 0 153 1 323 2 371 3 420
데이터 전처리 작업을 하다 보면 abx123처럼 문자와 숫자가 섞여 있는 문자열 데이터를 만나게 됩니다. 이런 경우 정규표현식(Regular Expression)을 활용하면 문자 부분과 숫자 부분을 손쉽게 분리할 수 있습니다.이 글에서는 판다스(Pandas)의 str.extract() 메서드를 사용해 시리즈(Series)에서 알파벳과 숫자를 분리하고, 그 결과를 데이터프레임(DataFrame)으로 저장하는 방법을 알아보겠습니다.문제 상황다음과 같은 시리즈가 있다고 가정해 봅시다. 각 요소는 알파벳과 숫자가 결합된 문자열입니다.ser