본문 바로가기

데이터 분석/데이터 전처리56

[Pandas] 27. 문자열 데이터 다루기(공백 제거, 슬라이싱, 문자 대체, 분리, 문자 연결) (feat. strip, slice, split, replace, cat) 안녕하세요~ 꽁냥이에요. 지난 포스팅에서 특정 문자열, 단어를 포함하는 행 추출하는 방법에 대해서 소개했는데요. Pandas에서는 이외에도 문자열을 위한 여러 가지 기능을 제공하고 있습니다. 이번 포스팅에서는 Pandas에서 제공하는 문자열을 다루는 여러 기능을 소개합니다. - 목차 - 1. 공백 제거 2. 슬라이싱 3. 문자 대체 및 분리 4. 문자 연결 1. 공백 제거 파이썬에는 공백제거를 위한 내장 함수로 strip, rstrip, lstrip이 있는데요. Pandas에서도 똑같습니다. 아래 코드를 보면 금방 이해되실 거예요. import pandas as pd df = pd.DataFrame() df['A'] = ['서울', '서울', '경기'] df['B'] = [' 꽁냥이', '꽁냥이 ', '.. 2022. 5. 27.
[Pandas] 여러가지 통계량(평균, 분산, 중앙값 등) 구하기 반갑습니다~ 꽁냥이 입니다. Pandas에서는 각종 통계량 값을 계산해주는 강력한 기능을 제공합니다. 이번 포스팅에서는 Pandas에서 평균, 분산, 중앙값과 같은 여러 가지 통계량을 계산해보는 방법을 소개합니다. 바로 코드를 통해서 알아보도록 하지요. Pandas 통계량 계산하기 먼저 데이터를 만들어줍니다. import pandas as pd df = pd.DataFrame() df['키'] = [170, 144, 156, 177, 181, 188, 181, 161] df['체중'] = [55, 52, 60, 77, 65, 89, 90, 60] 이제 각종 통계량을 계산하는 방법을 소개하겠습니다. 설명은 주석을 참고하세요. df['키'].mean() # 평균 df['키'].median() # 중앙값 = .. 2022. 5. 20.
[Pandas] 26. shift를 이용하여 칼럼 값이 바뀌는 지점(행) 찾기 안녕하세요~ 꽁냥이에요. 언젠가 회사 동료분께서 특정 칼럼의 값이 바뀌는 행을 찾는 법을 물어보셔서 알게 된 내용이 있는데요. 여러분들에게도 공유하면 언제가 써먹을 수 있을 것 같아서 이번 포스팅을 준비했습니다. 특정 칼럼의 값이 바뀐다는 것은 다음과 같이 (시간 순으로 정렬된) 데이터가 주어졌을 때 특정 칼럼의 값이 이전과는 다른 값이 나타났다는 뜻입니다(빨간 박스). 이 경우 우리는 다음과 같이 3가지 경우에 대해서 바뀌는 행(지점)을 추출하는 방법을 알아볼 것입니다. Case 1) 변경 직후 먼저 데이터를 만들어줍니다. import pandas as pd df = pd.DataFrame() df['방문 시간'] = pd.date_range('2022-01-01', '2022-01-07') df['장.. 2022. 5. 20.
[Numpy] 결측치(NaN, missing)를 포함한 두 배열의 상관계수(correlation) 구하기 (with ma.corrcoef) 안녕하세요?! 꽁냥이입니다. 데이터 분석을 하다 보면 두 배열의 상관 계수를 구할 때가 종종 있지요. 하지만 배열 속에 결측치(NaN, missing)를 포함하고 있다면 상관 계수를 계산할 수 없을 때가 있습니다. 예를 들어 아래와 같이 결측치(NaN, missing)를 포함한 두 배열이 있다고 해볼게요. import numpy as np a = np.array([np.nan, np.nan, 1, 2, 3]) b = np.array([np.nan, np.nan, 10, 14, 16]) 이 경우 np.nan를 자동적으로 제거하고 [1, 2, 3]과 [10, 14, 16]의 상관계수를 구하고 싶을 것입니다. 하지만 실제로 numpy.corrcoef를 이용하여 상관계수를 구하면 NaN값이 출력됩니다. impo.. 2022. 5. 12.
[Pandas] 26. 단순 이동 평균 계산하기 feat. rolling.mean() 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 Pandas에서 단순 이동 평균값을 계산하는 방법에 대해서 알아보려고 합니다. 주식하시는 분들은 아시겠지만 차트를 보실 때 이동 평균선을 같이 보실 텐데요. 이동 평균선이라는 것이 결국 주가의 단순 이동 평균값을 계산하는 것이므로 이번 포스팅에서 그 방법을 숙지하시면 이러한 이동 평균선들도 시각화할 수 있습니다. 여기서 다루는 내용은 다음과 같습니다. 1. 단순 이동 평균이란? 2. Pandas 단순 이동 평균 계산하기 3. 주가 데이터를 이용하여 이동 평균선 그려보기. 1. 단순 이동 평균이란? 먼저 (이미 알고계시겠지만) 단순 이동 평균의 정의를 잠깐 알아보고 가려고 합니다. 데이터(특히 시계열 데이터) $y_1, y_2, \ldots, y_n$이 있다고 했.. 2022. 5. 11.
[Pandas] pandas-datareader를 이용하여 주식(주가) 데이터 가져오기! 반갑습니다~ 꽁냥이입니다. 이번 포스팅에서는 pandas_datareader를 이용하여 주식(주가) 데이터를 가져오는 방법에 대해서 소개하려고 합니다. 여기서 다루는 내용은 다음과 같습니다. 1. pandas-datareader 설치 2. pandas-datareader를 이용한 주식(주가) 데이터 가져오기 1. pandas-datareader 설치 pandas_datareader는 주식뿐만 아니라 여러 통계 데이터들을 가져올 수 있는 api를 제공하는 강력한 모듈입니다. 설치법은 pip 명령을 이용하여 설치하면 됩니다. pip install pandas-datareader 2. pandas-datareader를 이용한 주식(주가) 데이터 가져오기 이제 주가 데이터를 불러봅시다~~ 꽁냥이는 애플을 좋아해.. 2022. 5. 11.
[pandas] 판다스 고급 Tip! Groupby에 복잡한 집계(조건부 집계 등) 함수 적용하기 안녕하세요~ 꽁냥이에요. 데이터 분석을 하다 보면 그룹별로 집계를 해야 할 때가 있는데 Pandas에서는 뭔가 정해진 집계 함수만 사용하다 보니 좀 더 복잡한 집계를 어떻게 해야 하는지 모르는 분들이 계시더라고요. 그래서 이번엔 꽁냥이가 생각하는 판다스 집계 고급(?) 팁을 알려드리고자 합니다. 그전에 groupby에 대한 기본적인 내용을 먼저 보고 오시면 좋습니다. https://zephyrus1111.tistory.com/70 [Pandas] 14. 데이터 그룹별로 집계하기 안녕하세요~ 꽁냥이에요. 데이터를 분석하다 보면 그룹별로 집계하여 데이터를 요약해야 할 일이 많이 있지요. 예를 들면 성별 평균 키를 계산하는 것처럼요. 이번 포스팅에서는 Pandas를 이용하 zephyrus1111.tistory.. 2022. 4. 27.
[Pandas] 25. 데이터(칼럼, 열) 변환 하기 (feat. columns, dtype, map, apply) 안녕하십니까?! 꽁냥이입니다. 이번 포스팅에서는 Pandas에서 데이터 칼럼(열)을 변환하는 방법에 대해서 알아보려고 합니다. 데이터 분석을 하는 경우 문자형 숫자(예 '1', '1.1' 등)를 숫자로 바꿔주는 데이터 타입(Type) 변환이 필요합니다. 또한 예측 모델링을 하는 경우 주어진 학습 데이터를 그대로 이용하기보다는 원(Raw) 데이터를 변환(로그 변환, 절대값 변환 등)하여 학습을 진행하기도 합니다. 따라서 이번 포스팅에서는 Pandas에서 이러한 데이터 칼럼(열)을 변환하는 방법을 소개합니다. 여기서 다루는 내용은 다음과 깉습니다. 1. 데이터 타입(Type) 변환 2. 데이터 칼럼에 수치 함수 적용 3. 데이터 칼럼에 내가 만든 함수 적용 1. 데이터 타입(Type) 변환 Pandas에서는.. 2022. 4. 16.
[Pandas] 24. 데이터프레임(Dataframe) 순회(loop)하기 - 행 방향 순회, 열 방향 순회 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 판다스(Pandas)에서 데이터프레임을 순회하는 방법에 대해서 알아보겠습니다. 오늘 다루는 내용은 다음과 같습니다. 1. 행(row) 방향으로 순회하기 2. 열(column) 방향으로 순회하기 1. 행(row) 방향으로 순회하기 행 방향으로 순회하는 방법은 행 인덱스 이름(Index name)으로 순회하는 방법과 행 위치 번호로 순회하는 방법이 있습니다. 행 인덱스 이름(Index name)은 아래 데이터프레임에서 빨간 박스에 해당하는 인덱스 이름을 의미하며 행 위치 번호는 인덱스의 번째수를 나타내는 숫자이며 0부터 시작하여 1씩 증가합니다. 1) 행 인덱스 이름(Index name)으로 순회 먼저 데이터프레임(DataFrame)을 하나 만들어 줍니다. 이번 포.. 2022. 4. 15.
[Pandas] 23. 데이터 유일(유니크, unique)값과 개수 구하기 안녕하세요~ 꽁냥이입니다. 이번 포스팅에서는 Pandas에서 칼럼이 갖고 있는 유일(유니크, unique)한 값과 그 개수를 얻는 방법에 대해서 소개하려고 합니다. 1. 데이터 만들기 2. 하나의 칼럼 속 데이터 유일(유니크, unique)값과 개수 3. 데이터프레임에서 칼럼 별 데이터 유일(유니크, unique) 값의 개수 1. 데이터 만들기 먼저 이번 포스팅에서 사용할 데이터를 만들어 줄 거예요. import pandas as pd import numpy as np df = pd.DataFrame() df['A'] = [1, 2, 3, np.nan, 7, 7] df['B'] = ['b', 'b', 'b', 'c', np.nan, 'd'] 2. 하나의 칼럼 속 데이터 유일(유니크, unique) 값과 .. 2022. 4. 7.

맨 위로