root@bskyvision: ~#
방명록
태그
RSS

<닫기>

3,562,156/3,854/1,660

프로필사진
수많은 소음 속에서 신호를 찾아가는 bskyvision입니다.


<닫기>

  • 꼬장이이(가) 07.25에 작성한 댓글: test.

<닫기>

(코딩/pandas, matplotlib) 검색 결과 36건
  • [pandas] 중복 데이터 제거하기, drop_duplicates() 메소드
    pandas 데이터프레임 내 중복 데이터(중복 행)를 제거할 때는 drop_duplicates() 메소드를 사용합니다. 중복 행 제거하기 다음과 같은 엑셀 파일이 있다고 가정하겠습니다. 보시다시피 3번째 행과 4번째 행은 같은 값들을 갖고 있습니다. 이런 경우에 drop_duplicates() 메소드를 사용하면 두번째로 출현한 4번째 행이 제거됩니다. import pandas as pd df = pd.read_excel('./dataset1.xlsx') print(df) df1 = df.drop_duplicates() print(df1) 생각해볼 점 중복 데이터라고 무조건 제거해야 할까요? 그렇진 않습니다. 모든 특성값이 같은 데이터를 관측 또는 측정하게 되는 경우가 있을 수 있습니다. 예를 들어 "12..
  • [pandas] 누락된 데이터가 - 등의 기호로 표현되어 있을 때 NaN으로 변경하는 방법
    수집 또는 측정한 데이터를 활용하기 전에는 전처리 과정이 항상 필요합니다. 어떤 데이터셋에는 누락된 데이터가 "-" 또는 "?" 또는 "없음" 등으로 표현되어 있곤 합니다. 그런 경우에는 추후 분석을 위해서 NaN으로 변경해주는 것이 좋습니다. 판다스 데이터프레임의 replace() 메소드가 이러한 데이터 치환 목적에 사용됩니다. -로 표현된 데이터 NaN으로 치환하기 다음과 같은 엑셀 파일이 있다고 가정하겠습니다. 누락된 데이터는 -으로 표기되어 있습니다. 저는 이 엑셀 파일을 판다스 데이터프레임으로 변환한 후 -으로 표기된 데이터를 NaN으로 변경하도록 하겠습니다. 이를 위한 파이썬 코드는 다음과 같습니다. import pandas as pd import numpy as np df = pd.read_..
  • [pandas] 특정 날짜 이후 데이터만 선택하기
    다음은 제 블로그의 일자별 페이지뷰를 정리한 엑셀 파일입니다. 이 엑셀 파일을 판다스 데이터프레임으로 불러온 후 2022-01-01 이후의 데이터만 선택해보겠습니다. df_2022 = df[df['일 색인'] >= '2022-01-01'] 이렇게 날짜를 기준으로 필터링이 가능한 이유는 현재 '일 색인' 컬럼의 데이터타입이 문자열이 아니라 datetime64이기 때문입니다. print(df.dtypes) 참고로 어떤 컬럼이 날짜정보를 담고 있는데 데이터 타입이 문자열인 경우에는 pandas.to_datetime 함수를 사용하면 문자열 객체를 Timestamp 객체로 변환할 수 있습니다. 2022-01-01 이후 평균 페이지뷰 수를 구하면 다음과 같습니다. average_2022 = df_2022['페이지뷰..
  • [pandas] 결측치를 다른 값으로 채워 넣는 방법, fillna 메소드
    데이터를 측정 및 수집하다 보면 어떤 값은 측정이 안 되거나 누락되는 경우가 있습니다. 한 개의 샘플 당 30개의 특성이 있는 데이터가 존재한다고 가정해보겠습니다. 30개 중 29개 특성에 해당하는 값은 있고 1개의 특성 값은 누락된 상황입니다. 이런 경우에 그냥 이 샘플을 버리시겠습니까? 그러기엔 나머지 29개가 너무 아깝죠. 데이터 하나 하나가 돈이 되는 세상에서 30개 중 하나가 없다고 해서 의미없다고 버린다? 말이 안 되는 이야기입니다. 이런 경우에는 그 누락된 값을 해당 특성의 평균값으로 채워넣어 주는 것도 하나의 방법입니다. 물론 실제와 조금 다르긴 하겠지만, 그래도 귀중한 샘플 하나를 살리기 위한 최선의 조치라고 볼 수 있겠습니다. pandas 데이터프레임의 fillna 메소드를 활용하면 N..
  • [pandas] NaN 값이 있는 행 또는 열 삭제하는 방법, dropna 메소드
    판다스 데이터프레임에서 NaN 값이 있는 행 또는 열을 삭제할 때는 dropna() 메소드를 사용할 수 있습니다. NaN 값을 포함하고 있는 planets 데이터셋을 선택하여 dropna() 메소드를 사용했을 때의 결과를 보여드리도록 하겠습니다. planets 데이터셋은 seaborn에서 제공합니다. info() 메소드로 컬럼별로 몇 개의 NaN이 아닌 데이터가 들어 있는지 확인해보겠습니다. 관련 글 - [pandas] 각 컬럼 데이터 중 NaN이 아닌 데이터의 개수를 보여주는 info() 메소드 import seaborn as sns import pandas as pd dataset = sns.load_dataset('planets') print(dataset.info()) 총 1305개의 행과 6개의..
  • [pandas] 데이터프레임 컬럼 내 고유값의 개수 구하기, value_counts() 메소드
    판다스 데이터프레임의 value_counts() 메소드는 컬럼 내 고유값(unique value)의 개수를 알려줍니다. 예를 들어 다음과 같은 데이터프레임이 있다고 가정하겠습니다. 저는 차 브랜드별로 몇 개의 데이터가 있는지를 value_counts() 메소드를 통해서 확인해보겠습니다. 즉, 현대 차는 몇 대가 있고, 기아 차는 몇 대가 있고, 벤츠는 몇 대가 있는지를 알고 싶은 것입니다. value_counts() 메소드 사용법 고유값의 개수를 구할 컬럼을 선택한 다음에 value_counts() 메소드를 사용하시면 됩니다. df['컬럼명'].value_counts() df['브랜드'].value_counts()와 같이 코딩해주면, 각 브랜드별 차량 대수를 한 번에 파악할 수 있습니다. 참고로 전체 코..
  • [pandas] 각 컬럼 데이터 중 NaN이 아닌 데이터의 개수를 보여주는 info() 메소드
    판다스 데이터프레임에는 유용한 메소드들이 정말 많습니다. 그 중 하나가 오늘 소개해드리는 info() 메소드입니다. info() 메소드를 활용하면 컬럼 별로 NaN이 아닌 데이터, 즉 유효한 데이터의 개수를 바로 알 수 있습니다. 우리가 실무에서 접하는 데이터에는 결측치가 꽤 많이 포함됩니다. 어떤 회사에서 설문조사를 시행했다고 가정해보겠습니다. 설문조사에 응답한 사람들이 모든 질문에 항상 대답을 해줄까요? 그럴리가 없죠. 어떤 질문은 그냥 건너뛴 사람도 있을 것입니다. 그러면, 자연스럽게 결측치가 생기는 것입니다. 따라서, 컬럼별로 유효한 데이터의 개수를 정리하는 것도 데이터 분석에서 꼭 필요한 과정입니다. 데이터프레임 info() 메소드 사용법 seaborn 라이브러리에서 제공하는 타이타닉 데이터셋에..
  • [matplotlib] 그래프 x축, y축 눈금 위치 설정하는 방법, xticks, yticks
    안녕하세요. 비스카이비전입니다. matplotlib의 pyplot 그래프를 그리다보면 내가 원하는 대로 x축, y축의 눈금들이 그려지지 않을 때가 있습니다. import matplotlib.pyplot as plt x = [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022] y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] plt.plot(x, y) plt.show() 저는 2010, 2011, 2012, 2013 등 모든 년도마다 눈금이 있었으면 했는데, 하나씩 건너뛰고 눈금이 그려졌습니다. 이럴 때 사용할 수 있는 것이 바로 pyplot의 xticks, yticks 메소드입니다...
  • [pandas] 데이터프레임 컬럼 자료형 변경하는 방법, astype
    오늘은 판다스 데이터프레임에서 특정 컬럼의 자료형을 바꾸는 방법에 대해서 정리하도록 하겠습니다. 우선 다음과 같은 데이터프레임을 하나 만들겠습니다. 데이터프레임을 만들 때는 딕셔너리를 데이터프레임으로 변환하는 방식을 많이 사용합니다. import pandas as pd dict_data = {'연도':['2020', '2021', '2022'], '스트레스지수':[58, 78, 99]} df = pd.DataFrame(dict_data) print(df) 데이터프레임 컬럼 자료형 확인 이 데이터프레임의 각 컬럼의 자료형은 다음과 같습니다. 데이터프레임의 자료형은 데이터프레임 객체의 dtypes 속성으로 확인할 수 있습니다. print(df.dtypes) 연도 컬럼의 자료형은 object, 스트레스지수 컬..
  • [matplotlib] 리눅스 우분투 matplotlib 그래프 한글 깨짐 문제 해결법
    안녕하세요. 비스카이비전입니다. 오늘은 리눅스 우분투 운영체제에서 matplotlib로 그래프를 그릴 때 한글 깨짐 현상에 대한 해법에 대해 알아보도록 하겠습니다. 윈도우 PC에서의 matplotlib 한글 깨짐 문제 해결법은 링크 글을 확인하세요. 우분투 matplotlib 한글 깨짐 해결법 1) 우선 한글 폰트를 우분투에 설치해야 합니다. 네이버가 개발해서 배포한 나눔 폰트를 설치하겠습니다. 우분투 터미널에 다음과 같은 명령어를 입력해주세요. *를 붙인 이유는 fonts-nanum으로 시작하는 모든 폰트를 설치하기 위함입니다. sudo apt-get install fonts-nanum* 2) 그 다음에는 fc-cache 명령어를 활용하여 폰트 캐시(cache)를 갱신해줍니다. 참고로 fc는 fontc..