본문 바로가기

python

[데이터 분석] 빈 데이터 프레임(dataframe) 만드는 방법 pandas 라이브러리로 데이터프레임을 만들 수 있는데요, 기존의 데이터를 이용하여 데이터프레임으로 나타내는 방법과, 처음부터 빈 데이터프레임을 만들어서 데이터를 추가하는 방식으로 만들 수 있습니다. 이번 글에서는 빈 데이터프레임을 만드는 방법에 대해서 살펴보도록 하겠습니다. 1. 빈 데이터프레임 만들기 데이터 프레임을 만드는 방법은 간단한데요, pd.DataFrame() 함수 안에 인덱스 설정과 칼럼의 이름을 지정해주면 됩니다. 예를 들어, 10개의 행과 'A', 'B', 'C' 라는 칼럼을 가진 데이터프레임 'df' 를 만들어보도록 하겠습니다. import pandas as pd df = pd.DataFrame(index=range(0,10),columns=['A','B','C']) 위와 같이 ind.. 더보기
[데이터분석] matplotlib 그래프 : x축 텍스트 회전하는 방법 - rotation matplotlib 라이브러리는 그래프를 쉽고 간편하게 그릴 수 있도록 도와주는 라이브러리입니다. matplotlib에서는 그래프를 다양하게 그릴 수 있도록 여러 모듈을 제공하는데요, 그중 x축 텍스트를 회전하는 방법에 대해서 살펴보도록 하겠습니다. 먼저, 아래와 같이 간단한 그래프를 그려보도록 하겠습니다. import matplotlib.pyplot as plt import numpy as np x = np.arange(8) item = ['ice coffee', 'hot tea', 'ice ade', 'hot milk', 'ice water', 'ice coke', 'oil', 'smoothie'] values = [2000, 4000, 5000, 2000, 4500, 3000, 5000, 6000].. 더보기
[데이터분석] 데이터 프레임 - 새로운 행 추가하기 - loc[ ] 데이터 프레임으로 데이터 분석을 할 때, 필요에 의해서 새로운 행을 추가해야 할 수 있는데요, 이때 iloc 또는 loc 함수를 사용하여 새로운 행을 추가할 수 있습니다. 먼저, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 위 데이터프레임에서 새로운 행을 추가하고 싶다면, loc[ ] 함수를 사용하면 되는데요, df.loc['인덱스번호 또는 이름'] = [ 데이터 리스트 ] 와 같이 코드를 입력하면 됩니다. 따라서 만약 맨 마지막에 ['ice', 'coke', 3, 20.. 더보기
[데이터분석] 데이터프레임 : 특정 조건 만족하는 행 삭제하기 - drop() 이전 글에서는 특정 조건을 만족하는 행을 추출하고, 해당되는 인덱스를 반환하는 방법에 대해서 살펴보았는데요, 이번 글에서는 특정 조건을 만족하는 행을 삭제하는 방법에 대해서 살펴보도록 하겠습니다. 1. 특정 조건 만족하는 행의 인덱스 찾기 특정 조건을 만족하는 행을 삭제하기 위해선, 해당되는 행의 인덱스를 알아야 이를 이용해서 삭제할 수 있는데요, 먼저, 인덱스를 찾는 방법에 대해서 살펴보도록 하겠습니다. 아래와 같은 데이터 프레임이 있다고 가정할 때, tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 만약 'price' 칼럼.. 더보기
[데이터분석] 데이터프레임 : 특정 조건 만족하는 행 추출 & 해당 인덱스 반환 데이터 프레임으로 데이터 분석을 할 때, 특정 조건을 만족하는 행을 추출하거나, 조건을 만족하는 행의 인덱스 번호를 반환시킬 수 있는데요, 아래 코드를 보면서 설명하도록 하겠습니다. 1. 특정 조건 만족하는 행 추출하기 먼저, 아래와 같이 음료와 관련한 데이터프레임이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 만약 이 데이터 프레임에서 'price' 칼럼의 데이터가 4000 이상인 행만 추출해서 보고 싶다면 다음과 같이 코드를 입력하면 됩니다. df[df['price'] >= 4000] temp.. 더보기
[데이터분석] 데이터프레입 : 중복된 행 삭제 - drop_duplicates 이전 글에서는 데이터프레임에서 중복된 행이 있는지 확인하고, 중복된 행이 몇 개 있는지 구하는 방법에 대해서 살펴보았는데요, 이번 글에서는 중복된 행을 삭제하는 방법에 대해서 설명하도록 하겠습니다. 1. drop_duplicates() : 중복된 행 삭제하기 먼저, 다음과 같이 중복된 데이터가 있는 데이터프레임이 있다고 가정해보겠습니다. tempitemcountprice 0hotcoffee13000 1icejuice34000 2iceade25000 3hotcoffee13000 4hottea34000 5icewater21000 6icejuice34000 위 데이터 프레임을 보면, 3번째 행은 0번재 행과 중복, 6번째 행은 1번째 행과 중복됩니다. 이는 duplicated() 함수를 통해서 아래 코드처럼 .. 더보기
[데이터분석] 데이터프레임 : 중복된 행 찾기 & 개수 - duplicated(), sum() 이전 글에서는 데이터 프레임에서 결측치가 있는 행을 찾는 함수 isnull()과 칼럼마다 결측치의 개수를 구하는 함수 isnull().sum() 함수에 대해 알아보았는데요, 이번에는 중복된 행을 찾는 함수 duplicated()와 그 개수를 구하는 방법에 대해서 살펴보도록 하겠습니다. 1. duplicated() : 중복된 행 찾기 먼저, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다. tempitemcountprice 0hotcoffee13000 1icejuice54000 2iceade25000 3hotcoffee13000 4hottea34000 5icewater21000 위 데이터프레임을 보면, 0번째 행과 3번째 행의 데이터가 겹치는 것을 볼 수 있는데요, 한 번 duplicated() 함수를 .. 더보기
[데이터분석] 데이터프레임 : 결측치 있는지 확인하기 & 칼럼별 개수 세기 - isnull(), isnull().sum() 데이터 분석을 하기 전 데이터 전처리를 할 때, 결측치(결측값, NaN)가 있으면 데이터 분석을 할 때 문제가 될 수 있는데요, 사전에 결측치가 있는지 알아보는 것이 중요합니다. 하지만 데이터가 많지 않을 때 결측치가 있는지 한 눈에 알 수 있지만 데이터가 매우 많다면 결측치가 어디에 있는지, 칼럼마다 몇 개가 있는지 확인하기 어려울 수 있습니다. 따라서 pandas 에서는 결측치가 얼마큼 있는지 알려주는 함수를 제공하는데요, 아래 예시와 코드를 보면서 설명하도록 하겠습니다. 1. isnull() : 결측치 확인하기 먼저, 결측치가 있는지 확인하는 함수는 isnull() 함수로, 각 행, 열마다 결측치가 있는 데이터가는 True, 결측치가 아닌 데이터는 False를 반환합니다. 예를 들어, 아래와 같은 .. 더보기
[데이터분석] 데이터프레임 concat() 으로 병합 시, 인덱스 재배열 하는 방법 여러 개의 데이터프레임은 concat() 함수로 위아래 또는 좌우로 병합할 수 있는데요, 이때 인덱스는 자동으로 재배열되어서 나오지 않는답니다. 따라서 어떻게 해야 인덱스를 재배열할 수 있는지 코드를 보면서 살펴보도록 하겠습니다. 먼저, 아래와 같은 두 데이터프레임이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 indextempitemcountpricerating 03hotmilk420002.5 14hottea340003.0 25icewater210004.5 이제 이 두 데이터프레임을 합치려고 하는데요, concat() 함수 안에 합칠 데이터프레임을 다음과 같이 입력하면 됩니다. pd... 더보기
[데이터분석] 데이터프레임 : 위/아래, 좌/우로 합치기 - concat() 데이터프레임은 concat() 함수를 이용하여 두 개의 데이터프레임을 위/아래 또는 좌/우로 합칠 수 있는데요, 코드를 보면서 살펴보도록 하겠습니다. 1. 위 아래로 데이터프레임 합치기 먼저 아래와 같은 두 개의 데이터프레임(df1, df2)이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 indextempitemcountpricerating 03hotmilk420002.5 14hottea340003.0 25icewater210004.5 이제 이 두 데이터프레임을 합치려고 하는데요, concat() 함수 안에 합칠 데이터프레임을 다음과 같이 입력하면 됩니다. pd.concat([df1, .. 더보기