본문 바로가기

BLOG/데이터분석

[데이터분석] 데이터프레임 : 다른 열(칼럼)에 있는 값으로 결측치(NaN) 채우기 - fillna 데이터를 가지고 분석하기 전, 결측치가 있다면 이를 삭제할지 다른 값으로 대체할지 결정해야 하는데요, 같은 행 다른 열에 있는 값으로 결측치를 채우는 방법에 대해서 살펴보도록 하겠습니다. - fillna() : 결측값(NaN) 채우기 먼저, 아래와 같은 데이터프레임(df)이 있다고 가정해보겠습니다. itemcountprice1price2 0coffee13000.03500 1juice54000.03500 2ade25000.04500 3milk1NaN2000 4tea34000.04500 5water21000.01000 위 데이터프레임을 보면 'price1' 칼럼에서 3번째 행에 결측값(NaN)이 있는 것을 확인할 수 있는데요, fillna() 함수를 사용하여 'price2' 칼럼의 3번째 행에 있는 데이터로.. 더보기
[데이터분석] 데이터프레임 : 데이터프레임 사이에 다른 데이터프레임 삽입하기 - concat() concat() 함수는 데이터프레임을 위/아래 또는 좌/우로 병합해주는 함수로 잘 알려져 있는데요, concat() 함수로 한 데이터프레임 사이에 다른 데이터프레임을 삽입할 수도 있답니다. 한번 코드를 보면서 살펴보도록 하겠습니다. - concat() : 데이터 프레임 사이에 다른 데이터 프레임 삽입하기 먼저 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. # df1 classnummath 0A197 1B267 2F489 3G576 4H679 #df2 classnummath 0C389 1D478 2E597 위와 같은 데이터프레임 df1, df2가 있을 때, 만약 df1의 1번째 행과 2번째 행 사이에 df2를 삽입하려면 아래와 같이 코드를 작성하면 됩니다. row = 2 new_df = pd.conc.. 더보기
[데이터분석] 데이터프레임 : 다중 인덱스 설정하는 방법 - set_index() 데이터프레임에서는 인덱스를 하나만 설정하는 것 말고도 여러 개의 칼럼으로 인덱스를 설정할 수 있는데요, 아래 코드를 보면서 다중 인덱스를 설정하는 방법에 대해 살펴보도록 하겠습니다. - set_index() : 다중 인덱스 설정하기 먼저, 아래와 같은 데이터프레임(df)이 있다고 가정해보겠습니다. classnummatheng 0A19798 1A26776 2A38997 3B17667 4B27989 5B36877 6C19898 7C25887 8C39767 데이터프레임을 보면 'class' 칼럼에 A, B, C 에 해당하는 데이터가 있고, 'num' 칼럼에는 1, 2, 3이라는 데이터가 있으며, 'math'와 'eng' 칼럼에는 점수에 해당하는 값들이 입력되어 있습니다. 만약 위 데이터프레임에서 'class'.. 더보기
[데이터분석] 데이터프레임 : 정렬 후 인덱스 재정렬 하기 - reset_index(drop = True) 데이터프레임으로 분석을 하기 전 전처리 과정을 거치는데요, sort() 함수를 이용하여 정렬을 시키는 경우가 있습니다. 하지만 sort() 함수를 사용하고 나면, 인덱스 번호가 뒤죽박죽 섞이게 되는데요, 이를 재정렬하기 위해 인덱스를 지웠다 새로 만들기보다, reset_index() 함수를 이용하면 쉽게 재정렬 할 수 있답니다. 한 번 아래 코드를 보면서 살펴보도록 하겠습니다. - reset_index(drop=True) : 인덱스 재정렬하기 먼저, 아래와 같이 정렬을 하기 전인 데이터프레임(df)이 있다고 가정해보겠습니다. itemcountpricerating 0coffee130004.5 1juice540003.0 2ade250004.0 3milk130002.5 4tea340003.0 5water230.. 더보기
[데이터분석] 데이터프레임 : 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기 데이터프레임에서 한 칼럼(열)에 특정 데이터와 일치하는 행을 찾고, 일치하는 행들만 따로 데이터프레임으로 나타내고 싶다면 어떻게 해야 할까요? 아래 코드를 보면서 살펴보도록 하겠습니다. - 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기 먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. itemcountpricerating 0coffee130004.5 1juice540003.0 2ade250004.0 3milk130002.5 4tea340003.0 5water230004.5 위 데이터를 살펴보면 항목(item)마다 'count', 'price', 'rating'에 대한 데이터가 있는데요, 만약 'price'칼럼에서 데이터가 '3000'인 행만 필터링해서 새로운 데이터프레임으로 만들고 싶다면.. 더보기
[데이터분석] 데이터프레임 : 한 칼럼(열)에 특정한 값 있는지 조회하는 방법 데이터프레임에서 한 칼럼에 특정한 데이터가 있는지 확인할 수 있는데요, 먼저 아래와 같은 데이터프레임(df)이 있다고 가정해보겠습니다. itemcountpricerating 0coffee130004.5 1juice540003.0 2ade250004.0 3milk130002.5 4tea340003.0 5water210004.5 위 데이터프레임은 데이터의 양이 많지 않아서 한눈에 다 들어오지만 모른다 가정할 때, 'item' 칼럼에 'milk' 라는 데이터가 있는지 확인하는 코드는 다음과 같습니다. df['item'] == 'milk' df['칼럼명'] == '찾을 데이터' 와 같이 입력하면 아래와 같이 출력되는데요, 해당하는 값이 있으면 True, 없으면 False를 반환합니다. 0 False 1 Fals.. 더보기
[데이터분석] plotly : 데이터프레임 3개 칼럼으로 그래프 나타내기 plotly 라이브러리를 이용하여 데이터프레임을 가지고 그래프를 다양하게 나타낼 수 있는데요, 가장 기본적인 형태가 2개의 칼럼을 이용하여 x축 데이터와 y축 데이터의 관계를 나타내는 그래프입니다. 하지만 좀 더 변형해서, 3개의 칼럼으로 그래프를 나타내고 싶을 수 있는데요, 예를 들어, 연도별로 항목에 따른 가격 변화를 나타내는 그래프가 3가지의 요소를 보여주는 그래프라고 할 수 있습니다. 따라서 한 번 코드를 보면서 3개의 칼럼에 해당되는 데이터를 어떻게 그래프로 나타낼 수 있는지 살펴보도록 하겠습니다. - plotly() : 3개의 요소를 나타내는 그래프 만들기 먼저, 다음과 같이 항목, 연도, 가격 칼럼이 있는 데이터프레임이 있고, 그 아래와 같이 항목에 따른 가격을 나타내는 연도별 그래프를 만들.. 더보기
[데이터분석] 데이터프레임 : 데이터프레임(dataframe) 여러 개 출력하기 - display() pandas 라이브러리를 이용한 데이터프레임은 데이터 분석을 할 때 사용되는데요, 은근히 데이터프레임을 출력하는 함수 display()에 대해 모르시는 분들이 있습니다. 예를 들자면, 'df' 라는 이름의 데이터프레임을 만들었을 때 다음과 같이 입력하면 데이터프레임이 자동으로 출력됩니다. # 가장 많이 사용하는 출력 방법 df # 자동으로 데이터프레임 출력 df.sort(inplace=True) 따라서 데이터프레임을 출력하는 함수를 몰라도 충분히 데이터프레임을 출력해서 볼 수 있었을 겁니다. 하지만 위와 같이 입력해서 데이터프레임을 출력하면 맨 마지막에 있는 코드에 해당되는 데이터프레임만 출력되기 때문에 한 번의 실행으로 한 개의 데이터프레임만 나타낼 수 있는데요, 만약 여러 개의 데이터프레임을 동시에 .. 더보기
[데이터분석] 데이터프레임 : 칼럼 이름이 있는 행을 열로 변환하는 방법 - melt() 데이터프레임을 이용하여 데이터를 분석하고 처리하다 보면, 칼럼 제목에 있는 값들을 하나의 열로 바꿔주고 싶을 수 있는데요, 아래 이미지처럼, 첫 번째 표에서 두 번째 표 형식으로 데이터를 변환해서 나타내고 싶을 수 있습니다. 위 표를 보면, 첫 번째 표에서 칼럼 이름에 해당되는 '2019', '2020', '2021' 이 오른쪽 표에서 'year' 라는 이름의 칼럼에 데이터로 추가되었고, 첫 번째 표에서 'item'과 해당 연도에 따른 값에 해당되는 영역이 오른쪽 표에서 'price' 라는 칼럼의 데이터로 변환이 되었습니다. 한편, melt() 라는 함수는 위와 같이 데이터프레임의 형태를 변환해주는 함수인데요, 위와 같은 결과를 나타내기 위해 사용해보도록 하겠습니다. 먼저, 첫 번째 표를 나타낸 데이터프.. 더보기
[데이터분석] plotly : 데이터프레임을 이용하여 데이터 간의 변화를 비교하는 그래프 만들기 이전 글에서는 plotly 라이브러리로 리스트 또는 데이터프레임에 있는 데이터를 사용하여 간단하게 그래프를 그려보는 방법에 대해서 설명드렸는데요, 이번 글에서는 데이터프레임을 이용하여 다른 두 데이터 간의 변화를 비교하는 그래프를 그리는 방법에 대해서 설명드리겠습니다. - plotly() : 데이터프레임 이용하여 두 데이터 간의 변화 비교하기 우선, 아래와 같은 데이터프레임(df)이 있다고 가정해보겠습니다. yearitemprice 02018coffee2500 12018tea4000 22019coffee2500 32019tea4000 42020coffee3000 52020tea5000 62021coffee3500 72021tea5500 위 데이터를 보면 'year' 칼럼에 연도별로, 'item' 칼럼에서.. 더보기