목록pandas (25)
개발은 처음이라 개발새발
데이터를 다루다 보면 중복행이 종종 보이는 경우가 있습니다. 가공 작업을 진행하는 입장에서 표본이 적은 상황에서는 가볍게 엑셀에서 지워도 무방합니다. 하지만 세상 일이라는 게 그리 호락호락하지 않죠. 최근 겪을 일을 이야기해보자면 새로운 게임 스탯을 만들기 위해 분석하는 과정에서 행이 20만 개가 넘는 데이터를 다룰 때였습니다. 처음에는 중복된 것이 없는 줄 알았는데 특정 부분이 지나지체 많다 싶어 확인해보기 무려 3만 개가 넘는 중복행이 있던군요. ㅠㅠ 정말 막막했는데 판다스에서 간단한 코드를 해결할 수 있었습니다. 우선 예제를 만들어보겠습니다. import pandas as pd dict_data = {'goal':[23,23,2,1,15,17,23], 'assist':[7,13,12,7,8,9,7]..
import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('./시도별 전출입 인구수.xlsx', header=0) #빈칸 채워주기 df = df.fillna(method='ffill') #서울에서 다른 지역으로 이동하는 인구수 mask = (df['전출지별'] == '서울특별시') & (df['전입지별'] != '서울특별시') df_seoul = df[mask] df_seoul = df_seoul.drop(['전출지별'], axis=1) #불필요한 전출지별 제게 df_seoul.rename({'전입지별':'전입지'}, axis=1, inplace=True) #컬럼명 변경 df_seoul.set_index('전입지', inplace=Tr..
지난 시간에는 df.plot()을 이용해 여러 그래프를 그려봤는데요. 이번 시간에는 또다른 그래프 라이브러리인 maplotlib를 활용해 그래프를 그려보겠습니다. matplotlib는 "파이썬의 표준 시각화 도구"라고 부를 수 있을 정도로 평면 그래프와 관련해 다양한 포맷과 기능을 지원합니다. 또한 객체지향 프로그래밍을 지원해 그래프 요소를 세세하게 꾸밀 수 있는 장점 또한 가지고 있습니다. matplotlib 설명은 여기까지 하고 본격적으로 matplotlib를 이용해 그래프를 그려 보도록하겠습니다. matplotlib를 실행시키기 위해서는 import를 해야 겠죠? 이번에 활용할 데이터프레임은 시도별 전출입 인구수입니다. 코드를 진행해보겠습니다. import pandas as pd import mat..
exam_data = {'이름': ['민수', '철수', '광수'], '수학': [80, 90, 100], '영어': [95, 88, 56], '국어' : [72, 85, 95]} df = pd.DataFrame(exam_data) print(df, '\n') 이번에는 데이터 추가하기를 해보겠습니다. 우선 데이터 프레임을 불러오고 추가할 내용을 딕셔너리 형태로 미리 만들어 놓습니다. dj = {"이름":"찰스", "수학":80, "영어":100, "국어":65} df1 = df.append(dj, ignore_index =True) print(df1) 광수 하단에 찰스와 수학,영어,국어 점수가 추가된 것을 확인할 수 있습니다. 데이터 프레임에 새로운 데이터를 추가할 때는 append 함수를 사용하는데요...
우선 데이터 프레임을 만듭니다. import pandas as pd exam_data = {'이름': ['민수', '철수', '광수'], '수학': [80, 90, 100], '영어': [95, 88, 56], '국어' : [72, 85, 95]} df = pd.DataFrame(exam_data, index= ['A','B','C']) print(df) 우선 지난 1편에서 한 loc와 iloc를 활용해 특정 범위 데이터 표출 예시를 해보겠습니다. 이와 함께 광수와 철수의 영어 점수를 변경해보겠습니다. #iloc로 특정 데이터 보여주기 label1 = df.iloc[0 : 2] print(label1, '\n') #loc로 특정 데이터 보여주기 label2 = df.loc['A' : 'C'] print(..