본문 바로가기
728x90

데이터분석과 AI/파이썬을 엑셀처럼 쓰기11

10. 수식 (if문) 기본적인 엑셀 편집은 배웠고, 이제 자주 사용하는 수식을 Python에서 어떻게 쓰는지 배워보겠습니다. 가장 먼저 배울 것은 IF문입니다. if문은 다음과 같이 사용합니다. if 조건: 실행문 예제를 한번 볼까요? x를 입력받아서 짝수인지 홀수인지 판단한다고 하겠습니다. x에 10을 입력했고, % 는 나머지를 구하는 연산자입니다. 2로 나누어서 나머지가 0이면 짝수, 0이 아니면 홀수로 출력하였습니다. x=10 if x%2 ==0: print("짝수") else: print("홀수") 어렵지 않죠? 이제 이것을 응용해서 boston_data의 값에 적용하겠습니다. boston_price 데이터는 대부분 수치형으로 되어있습니다. 조금 보기 편하게 범주로 묶어볼까 합니다. DIS(5개의 보스턴 직업센터까지의.. 2022. 12. 14.
9. 채우기 (apply문) 앞서 채우기 방법으로 for 문을 사용했습니다. for문은 직관적으로 이해가 쉽지만, 느린 것이 단점입니다. 데이터가 작으면 괜찮지만, 데이터가 커지고 로직이 복잡해질수록 for문 수행 속도가 느려집니다. 일반적으로 python에서는 이런 경우에 for문을 사용하지 않습니다. 이럴 때 쓰라고 최적화해서 만들어 놓은 apply문을 사용합니다. apply 함수 사용법 apply(함수, axis= 0 or 1) apply는 apply 안에 매개변수로 받은 함수에 DataFrame의 한 개 행 전체, 혹은 한 개 열의 값을 전달하여 계산하고 그 결과를 반환합니다. 함수에 DataFrame의 한 개 행을 전달하는 경우 말로 하면 어려우니, 예시를 보겠습니다. 우선 apply의 매개변수인 함수에 DataFrame의.. 2022. 12. 14.
8. 채우기(for문) 이제 Excel의 채우기를 해보겠습니다. Excel의 채우기는 핸들잡고 드래그만 해주면 되었는데요. Python에서는 채우기 같은 기능은 없습니다. 대신 몇가지 대체할 만한 함수가 있습니다. 우선 이번에는 for문을 사용해봅니다. for문은 반복문이라고 하며, 특정 로직을 반복하게 합니다. for문은 아래와 같은 형식으로 사용합니다. for 원소 in 리스트: 수행할 로직 리스트는 수행대상이며, 리스트의 각 원소에 대해 정해진 로직을 수행하게 됩니다. 이제 for문을 이용해서 1을 채워 보겠습니다. # boston_price.index는 0부터 505까지의 값을 가지고 있습니다. for i in boston_price.index: boston_price.loc[i,'SEQ']=1 #i행 'SEQ'열에 1.. 2022. 12. 13.
7. 컬럼을 추가하고 삭제하기(drop) 이번에는 컬럼을 추가하고 삭제해보겠습니다. 엑셀에서는 단지 우클릭하고 열을 삽입해주면 되었습니다. python에서는 열의 이름을 정하고, 값을 넣어주면 열이 추가됩니다. 간단하게 tmp 열을 만들고 1 값을 넣어주었습니다. boston_price['tmp']=1 테스트 삼아 넣어본 열이니, 다시 삭제하겠습니다. 엑셀은 삽입할 때와 마찬가지로 삭제 위치에 우클릭하고 열을 삭제하면 됩니다. python에서는 drop 함수를 사용합니다. boston_price.drop('tmp',axis=1,inplace=True) DataFrame에 drop() 함수를 붙이고, 인자로 삭제할 컬럼명('tmp'), 삭제 방향(axis=1), DataFrame에 즉시 반영 여부(inplace=True)를 입력하면 됩니다. 이때.. 2022. 12. 1.
6. DataFrame에 필터 걸기(loc, iloc) 이제 본격적으로 Excel처럼 Python을 사용해 보겠습니다. 우리가 사용할 BostonHousing 데이터는 위와 같은 칼럼들을 가지고 있습니다. 여기서 주택 가격이 21.6인 데이터를 뽑는다고 하면 어떻게 할까요? Excel에서는 어떤 기능을 쓰지요? 네 바로 필터입니다. 값에 21.6 넣고 Enter키 누르면 바로 결과가 나옵니다. 그럼 Python은 어떻게 할까요? iloc, loc입니다. 공식문서 iloc: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.iloc.html#pandas-dataframe-iloc loc: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.l.. 2022. 9. 25.
5. 데이터의 기본 개요 확인 방법 (info, describe) 데이터프레임은 엑셀에 없는 몇가지 편의 기능을 제공하는데요. 데이터에 대한 요약이나, 데이터의 기술통계(평균,합계 등 기본 통계라고 생각하시면 됩니다.)를 확인할 수 있는 함수가 있습니다. pandas.DataFrame.info info() 함수는 데이터프레임의 크기, 컬럼의 타입등을 보여줍니다. 전체 행/열 수를 확인하고, 각 컬럼과 비교하면 결측치(값이 없는 데이터)를 확인할 수 있고, 데이터 타입에 따라 어떻게 데이터를 수정할지 검토할 수 있습니다. boston_price.info() boston_price 데이터는 총 506개의 행과 14개의 컬럼을 가지고 있고, 결측치는 존재하지 않는 다는 것을 알수 있습니다. 그리고 모든 열이 수치형 데이터인 것을 알수 있습니다. pandas.DataFrame.. 2022. 9. 16.
4. EDA(Explorary Data Analytics) 탐색적 자료 분석이란? 위키백과에서 찾은 EDA의 정의는 아래와 같습니다. 탐색적 자료 분석(영어: Exploratory data analysis)은 존 튜키라는 미국의 저명한 통계학자가 창안한 자료 분석 방법론이다. 기존의 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어, 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾을 수 있도록 여러 가지 탐색적 자료 분석 방법을 개발하였다. 대표적인 예로 박스플롯을 들 수 있다. 탐색적 자료 분석을 통하여 자료에 대한 충분한 이해를 한 후에 모형 적합 등의 좀 더 정교한 모형을 개발할 수 있다. 뭔 말인가... 싶은데, 중요한 부분은 "자료에 대한 충분한 이해" 입니다. 초보 데이터분석가가 제일 많이 하는 실수가 이 EDA.. 2022. 9. 16.
3. 데이터 파일(xlsx, xls, csv) 읽고 쓰기 데이터 분석을 위해 우선 파일을 불러오는 것부터 시작하겠습니다. 자주 사용하는 xlsx, xls, csv 파일을 읽어 오겠습니다. .csv csv 파일은 pandas에서 기본으로 제공하는 read_csv 함수를 사용하면 되고, 괄호안에 읽고자하는 파일 경로를 입력합니다. 절대, 상대 경로가 모두 가능합니다. 아래 코드는 파일을 읽어서 data 데이터 프레임에 저장하고 있습니다. import pandas as pd boston_data=pd.read_csv('BostonHousing.csv') #파일 이름 # boston_data=pd.read_csv('data/BostonHousing.csv') # 파일 경로 (상대) # boston_data=pd.read_csv('c:/data/BostonHousing.. 2022. 9. 14.
2. Set_option 다루기 이제 본격적으로 Dataframe을 다루어야 하는데, 한 가지 맘에 걸립니다. 아래 총 rows가 506인데, 중간이 뚝 끊어지고,"..."으로 표시되고 있네요. 아래 데이터는 행이 끊어졌지만, 열수가 많아지면 열도 끊어집니다. DataFrame의 가려진 행과 열을 보이게 하려면 set_option 이라는 함수를 사용합니다. pd.set_option('display.max_rows',600) #행 수를 늘릴 때 pd.set_option('display.max_columns',600) #열 수를 늘릴 때 이 코드에서 두 번째 인자로 숫자를 넣으면 해당 숫자만큼의 행/열이 표시됩니다. 그리고, None을 넣으면 무제한으로 표시되고, 0을 넣으면 Default으로 돌아갑니다. 이렇게 0~505행까지 출력이 됩.. 2022. 9. 14.
728x90