시계열 데이터를 다룰 때 특정 지역의 시간대(timezone)를 명확하게 지정해야 하는 경우가 자주 있습니다. 이 글에서는 판다스(pandas)를 활용해 데이터프레임의 인덱스에 아시아 시간대(Asia/Calcutta)를 현지화(localize)하는 방법을 알아보겠습니다.먼저 최종 결과부터 확인해 보겠습니다. 주어진 시계열 데이터에 아시아 시간대를 현지화하면 다음과 같은 결과를 얻을 수 있습니다.Index is: DatetimeIndex([2020-01-05 00:30:00+05:30, 2020-01-12 00:30:00+05:30,
회문(palindrome)은 앞에서부터 읽어도 뒤에서부터 읽어도 동일한 문자열을 의미합니다. 예를 들어 bob, hannah처럼 거꾸로 읽어도 같은 이름이 여기에 해당합니다. 이 글에서는 판다스 데이터프레임의 Name 열에서 이러한 회문 이름만 골라내는 두 가지 방법을 단계별로 살펴보겠습니다.기대 결과회문 이름을 필터링하면 다음과 같은 결과가 출력됩니다.Palindrome names are: Id Name 0 1 bob 2 3 hannah방법 1: 리스트 컴프리헨션 활용먼저 데이터프레임을 정의합니다.리스트
1부터 100까지의 숫자 중에서 매직 넘버(magic number)를 찾아 판다스 시리즈로 변환하면 다음과 같은 결과를 얻을 수 있습니다.magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100매직 넘버란 각 자릿수의 합이 최종적으로 1이 되는 수를 의미합니다. 예를 들어 10은 1+0=1이므로 매직 넘버이며, 19는
온도 데이터를 다룰 때 섭씨(Celsius)를 화씨(Fahrenheit)로 변환해야 하는 경우가 자주 있습니다. 이 글에서는 Python의 Pandas 라이브러리를 사용해 데이터프레임에 있는 섭씨 데이터 열을 화씨로 변환하는 두 가지 방법을 소개합니다.변환 공식은 다음과 같습니다.화씨 = (9/5) × 섭씨 + 32아래는 섭씨 값을 화씨로 변환한 결과 예시입니다. Id Celsius Fahrenheit 0 1 37.5 99.5 1 2 36.0 96.8 2
pandas 데이터프레임이 주어졌을 때, 다른 도시와 첫 글자가 겹치지 않는 고유한 접두사를 가진 도시 이름을 제거하면 아래와 같은 결과를 얻을 수 있습니다. Id City 2 3 Kolkata 3 4 Hyderabad 6 7 Haryana 8 9 Kakinada 9 10 Kochin K로 시작하는 Kolkata·Kakinada·Kochin과 H로 시작하는 Hyderabad·Haryana는 같은 첫 글자를 공유하는 도시가 있어 결과에 그대로 남습니다. 반면 Chennai(C), Delhi(D), Pune(P
짝수 길이의 랜덤 4자리 PIN 번호 시리즈를 생성한 결과는 다음과 같습니다. enter the series size 4 Random four digit pin number series 0 0813 1 7218 2 6739 3 8390 이 문제를 해결하기 위해 아래 단계를 순서대로 따릅니다. 해결 방법 빈 리스트를 하나 만들고, result 변수를 True로 초기화합니다. while 루프를 사용해 사용자로부터 시리즈의 크기를 입력받습니다. if 조건문으로 크기가 홀수인지 짝수인지 판별합니다. 크기가
데이터프레임이 있고, 이를 LaTeX 형식으로 변환하면 다음과 같은 결과를 얻는다고 가정해 보겠습니다.\begin{tabular}{lrr} \toprule {} & Id & Age \\ \midrule 0 & 1 & 12 \\ 1 & 2 & 13 \\ 2 & 3 & 14 \\ 3 & 4
데이터 전처리 과정에서 범주형 데이터를 수치형으로 변환해야 하는 경우가 자주 있습니다. 이 글에서는 판다스(Pandas)의 get_dummies 함수를 사용하여 시리즈(Series)를 더미 변수로 변환하고, 데이터에 NaN 값이 존재할 경우 이를 제외하는 방법을 알아보겠습니다.예를 들어, 성별 정보를 담고 있는 시리즈가 있을 때 이를 더미 변수로 변환하면 다음과 같은 결과를 얻을 수 있습니다. Female Male0 0 11 1
데이터 분석 작업을 하다 보면 하나의 날짜 문자열을 일(day), 월(month), 연도(year)로 나누어야 하는 경우가 자주 발생합니다. 예를 들어 다음과 같은 데이터프레임이 있고, 날짜 열을 세 개의 개별 열로 분할한 결과를 얻고 싶다고 가정해 보겠습니다. date day month year 0 17/05/2002 17 05 2002 1 16/02/1990 16 02 1990 2 25/09
데이터 분석 작업에서 두 개의 판다스(Pandas) 시리즈(Series)를 하나의 데이터프레임(DataFrame)으로 결합해야 하는 경우가 자주 있습니다. 예를 들어 Id 시리즈와 Age 시리즈를 합치면 다음과 같은 결과를 얻을 수 있습니다. Id Age 0 1 12 1 2 13 2 3 12 3 4 14 4 5 15이 문제를 해결하는 방법은 크게 세 가지가 있으며, 각 방법의 특징과 함께 순서대로 살펴보겠습니다.방법 1: 새로운 열(Column) 추가하기두 개의 시리즈를 각각 series1과 series2로 정의합니다.첫
이 글에서는 사용자로부터 낙타 표기법(Camel Case) 문자열을 입력받아, 형식이 올바른지 검증한 뒤 단어별로 분할하여 판다스(Pandas) 시리즈에 저장하는 파이썬 프로그램을 만드는 방법을 알아봅니다.실행 결과 미리 보기낙타 표기법 문자열을 분할하면 다음과 같이 각 단어가 시리즈의 개별 요소로 저장됩니다.문자열을 입력하세요:pandasSeriesDataFrameSeries is:0 pandas1 Series2 Data3
TensorFlow Text를 사용하면 UTF-8 문자열을 손쉽게 분할(토큰화)할 수 있습니다. 이 작업은 UnicodeScriptTokenizer를 활용하는데, 먼저 토크나이저 객체를 생성한 뒤 해당 객체의 tokenize 메서드를 문자열에 호출하면 됩니다.사전 개념 정리이 글에서는 Keras Sequential API를 사용합니다. Sequential API는 여러 층(layer)이 순서대로 쌓인 순차 모델을 만들 때 유용하며, 각 층은 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다.참고로 최소 하나 이상의 합성곱 층(
TensorFlow Text에서는 unicode_split 메서드를 사용해 문자열을 문자별로 분할할 수 있습니다. 먼저 분할할 문자열을 인코딩한 뒤, 함수 호출 결과를 변수에 할당하면 해당 변수가 분할 결과를 담게 됩니다.함께 읽기: TensorFlow란 무엇이며, Keras는 어떻게 TensorFlow와 함께 신경망을 만드는가?사전 지식이 글에서는 Keras Sequential API를 사용합니다. Sequential API는 레이어를 순서대로 쌓아 올리는 순차 모델을 구축하는 데 유용하며, 각 레이어는 정확히 하나의 입력 텐서와
TensorFlow Text에서 제공하는 wordshape 메서드를 사용하면 HAS_TITLE_CASE, IS_NUMERIC_VALUE, HAS_SOME_PUNCT_OR_SYMBOL과 같은 특정 조건을 통해 문자열이 특정 속성을 가지고 있는지 손쉽게 확인할 수 있습니다.시작하기 전에 알아두어야 할 사항이 튜토리얼에서는 Keras Sequential API를 사용합니다. Sequential API는 각 레이어가 정확히 하나의 입력 텐서와 하나의 출력 텐서를 갖는 순차적 모델을 구축할 때 매우 유용하며, 일반적인 레이어 스택 구조를 다
TensorFlow Text는 WhitespaceTokenizer를 호출하여 공백 토크나이저와 함께 사용할 수 있습니다. 이렇게 하면 토크나이저 객체가 생성되며, 생성된 토크나이저의 tokenize 메서드를 사용해 문자열을 토큰 단위로 분리할 수 있습니다.사전 지식: Keras Sequential API와 CNN이 튜토리얼에서는 Keras Sequential API를 사용합니다. Sequential API는 레이어를 일렬로 쌓아 올린 순차 모델을 만들 때 유용하며, 각 레이어는 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다
TensorFlow를 활용하면 빈 리스트를 생성한 뒤 훈련 데이터셋의 key 값에 접근하고 이를 순회(iteration)하는 방식으로 Estimator 모델의 특성 열(feature column)을 정의할 수 있습니다. 순회 과정에서 각 특성 이름이 빈 리스트에 하나씩 추가됩니다.함께 읽으면 좋은 글:TensorFlow란 무엇이며, Keras는 TensorFlow와 어떻게 연동되어 신경망을 구축할까요?이번 튜토리얼에서는 Keras Sequential API를 사용합니다. Sequential API는 레이어를 순서대로 쌓아 올리는 단
TensorFlow에서는 라이브러리의 estimator 클래스에 포함된 DNNClassifier 메서드를 사용하여 추정기(Estimator)의 인스턴스를 손쉽게 생성할 수 있습니다.사전 이해: TensorFlow와 Keras이 글에서는 Keras Sequential API를 사용합니다. Sequential API는 여러 층(layer)을 순서대로 쌓아 올리는 순차 모델을 구축할 때 유용하며, 각 층은 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다.적어도 하나의 합성곱(convolutional) 층을 포함하는 신경망을 합성곱
TensorFlow는 Estimator와 함께 사용할 수 있으며, train 메서드를 호출하는 것만으로 모델을 손쉽게 컴파일하고 학습시킬 수 있습니다. 함께 읽으면 좋은 글: TensorFlow란 무엇이며, Keras는 어떻게 TensorFlow와 연동하여 신경망을 구축할까요? 이 튜토리얼에서는 Keras Sequential API를 사용합니다. Sequential API는 레이어를 순서대로 쌓아 올리는 단순한 스택 구조의 모델을 만드는 데 유용하며, 각 레이어는 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다. 최소 하나
TensorFlow는 Estimator와 함께 사용할 수 있으며, classifier 모듈에 포함된 evaluate 메서드를 통해 학습된 모델의 성능을 손쉽게 평가할 수 있습니다.사전 이해: Keras Sequential API와 CNN이 글에서는 Keras Sequential API를 사용합니다. Sequential API는 일반적인 레이어 스택 구조의 순차적(sequential) 모델을 구축하는 데 유용하며, 각 레이어는 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다.적어도 하나의 합성곱(convolutional) 레이
TensorFlow는 Estimator와 함께 사용하여 새로운 데이터에 대한 예측을 수행할 수 있습니다. 이때 classifier 객체에 내장된 predict 메서드를 활용합니다.사전 지식이 글에서는 Keras Sequential API를 사용합니다. Sequential API는 여러 층(layer)이 순서대로 쌓인 순차 모델을 만들 때 유용하며, 각 층은 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다.최소 하나 이상의 합성곱 계층(convolutional layer)을 포함하는 신경망을 합성곱 신경망(CNN)이라고 부르며