JAMONGPROJECT

[DAY25] numpy와 pandas 본문

Challenge/FASTCAMPUS 30일 챌린지

[DAY25] numpy와 pandas

JAMONGPROJECT 2023. 3. 16. 08:50

 


2 pandas에 대해

 

pandas

 

Numpy 기반으로 개발된 데이터 분석도구.
pandas.Series는 1차원 데이터를 다루는 데 효과적이고, pandas.DataFrame은 2차원 데이터를 다루는데 유용.

import pandas as pd
pd.Series([1,2,3,4])
pd.DataFrame([[1,2,3,4],[5,6,7,8]],columns=[‘col1’,’col2’,’col3’,’col4’])

 

 

DataFrame

 

pandas는 주로 Series보다 DataFrame을 많이 쓴다. 
리스트 형식으로 생성할 수도 있지만 dictionary로부터 생성할 수도 있다.

 

import pandas as pd
pd.DataFrame({'col1':[1,2,3,4],'col2':[5,6,7,8]})

 

values 속성을 이용해 데이터만 numpy array 형식으로 접근 가능하다.
Column의 이름은 .columns를 통해 얻을 수 있고
Row의 이름은 .index를 통해 얻을 수 있다.

 

 

DataFrame의 열,행 선택

 

df[‘컬럼이름‘]
또는
df.컬럼이름


을 통해 열 하나에 접근 가능


df[[‘컬럼이름1’,’컬럼이름2’]]를 통해 여러 개의 컬럼에 접근 가능


df[숫자1:숫자2]를 통해 특정 행들에 접근 가능


df.iloc[숫자]를 통해 특정 행 하나에 접근가능(iloc도 마찬가지로 숫자1:숫자2로 여러 행에 접근가능)

 

 

DataFrame에 열 갱신, 추가, 삭제

 

df[‘새로만들열이름’] = data 컬렉션 : dataframe에 새로운 열 추가


df[‘기존열이름’] = df[‘기존열이름’] * 100 : dataframe의 기존열을 변경


del df[‘기존열이름’] : 기존 열의 삭제

 

 

DataFrame에 함수 적용

 

df.apply(함수, [axis = 0]) : axis가 0일 경우(또는 생략) 컬럼 단위로 함수를 수행, 

axis가 1일 경우 row 단위로 함수 수행


df.applymap(함수) : 각각 요소별로 함수 적용

 

 

DataFrame에 NaN 처리

 

isnull(): NaN이나 None인 경우 True, 그 외엔 False
notnull(): isnull의 반대
dropna(): NaN이나 None을 소유한 행을 제외
fillna(): NaN이나 None을 특정 수로 채울 수 있음

 

 

DataFrame에 groupby

 

DataFrame으로 작업할 때, 그룹별로 통계 분석을 할 경우가 많음.

이럴 때 사용하는 것이 바로 groupby 메서드


df.groupby(‘반‘).mean() : 반별 평균 점수를 반환
df.groupby(‘컬럼이름’).apply(함수): 컬럼이름이 같은 것들끼리 함수를 적용


numpy 기반이기 때문에 대부분의 numpy 기반 함수를 method로 사용 가능하고 최적화도 잘 되어있음.

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0

 

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #오공완

#한번에끝내는컴퓨터공학전공필수&인공지능심화초격차패키지Online

'Challenge > FASTCAMPUS 30일 챌린지' 카테고리의 다른 글

[DAY27] REST API와 FLASK  (0) 2023.03.18
[DAY26] Rest API와 Flask  (0) 2023.03.17
[DAY24] Numpy와 pandas  (0) 2023.03.15
[DAY23] DB연동과 정규식  (0) 2023.03.14
[DAY22] DB연동과 정규식  (0) 2023.03.13
Comments