1. Pandas란?
Pandas는 데이터 분석과 조작을 쉽게 할 수 있도록 도와주는 Numpy 기반 강력한 오픈소스 라이브러리
2. Pandas의 주요 데이터 구조
1) Series (1차원 데이터 구조)
Series는 1차원 데이터구조로, 리스트(List)와 유사하지만, **인덱스(Index)**가 추가되어 데이터에 쉽게 접근 가능
2) DataFrame (2차원 데이터 구조)
DataFrame은 2차원 데이터 구조로 행과 열을 가짐
3. Pandas의 주요 기능
1) 데이터 읽기 및 저장
Pandas는 CSV, Excel, JSON 등 다양한 형식의 데이터를 읽고 저장할 수 있음
# csv 파일을 읽어보자
df = pd.read_csv('파일경로/파일이름.csv')
데이터 형식에 따라 메서드가 다르나 read_형식()을 따름 ( ex. Excel의 경우 read_excel() )
pd.read_csv()는 호출 시 파일명 인자로 들어온 파일을 로딩해 DataFrame 객체로 반환함
또한 별다른 파라미터 지정이 없으면 파일의 맨 처음 행(Raw, 이하 로우)을 칼럼명으로 인지하고 칼럼으로 변환함
2) DataFrame 정보 알아보기
(1) 행과 열의 크기 간단하게 확인: shape
- shape은 DataFrame의 행과 열을 튜플 형태로 반환함
# shape 속성으로 행과 열의 크기 확인
print(df.shape) # ex. (100, 8) 출력
DataFrame 객체인 df는 100개의 로우와 8개의 칼럼으로 이루어져 있음
(2) 정보 조회: info( ) | describe( ) | value_counts( ) | head( )
- info( ) 메서드를 통해서 총 데이터 건수와 데이터 타입, Null 건수를 알 수 있음
- describe( ) 메서드는 칼럼별 숫자형 데이터값의 n-percentile 분포도, 평균값, 최댓값, 최솟값을 나타냄(오직 숫자형 칼럼만 조사)
- DataFrame의 [ ] 연산자 내부에 칼럼명을 입력하면 Series 형태로 특정 칼럼 데이터 세트가 반환됨
반환된 Series 객체에 value_counts( ) 메서드를 호출하면 해당 칼럼값의 유형과 건수 확인 가능
- Series 또는 DataFrame 객체에 head( ) 메서드를 호출하면 위 5개만 추출
3) DataFrame 수정하기
(1) 칼럼 생성과 수정
- DataFrame에 칼럼 추가 시 [ ] 연산자 내 새로운 칼럼명 입력하고 값을 할당
df['New Column'] = 0 # 일괄적으로 0 값 할당
- 기존 칼럼 값 업데이트도 같은 방식으로 실행
df['Age'] = df['Age'] + 10 # 기존 Age 칼럼 값에 모두 10을 더해준다
(2) 데이터 삭제: drop( )
- drop( ) 메서드의 파라미터는 아래와 같음
DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
이 중 가장 중요한 파라미터는 labels, axis, inplace 임
axis 파라미터는 값에 따라 특정 칼럼 또는 특정 행을 드랍함 ( axis = 0 은 로우방향, axis = 1 은 칼럼방향 )
DataFrame은 2차원 데이터만 다루므로 0과 1로 axis가 구성되어 있음
drop 메서드에 axis = 1 을 입력하면 해당 칼럼을 드롭하겠다는 의미
axis 파라미터의 값에 따라 labels 파라미터에 입력되는 인수를 인덱스로 간주
df.drop('Age', axis = 1) # axis = 1 이므로 Column 삭제, 'Age'를 index로 인식
df.drop(15, axis = 0) # axis = 0 이므로 Row 삭제, 15를 index로 인식
inplace 파라미터는 True면 자기 자신의 DataFrame 데이터를 삭제하고 None 반환, False면 자기 자신의 데이터는 삭제하지 않고 삭제한 버전의 결과 반환
# inplace = False
No_Age_df = df.drop('Age', axis = 1, inplace = False)
print(No_Age_df) # 'Age' 칼럼 없음
print(df) # 'Age' 칼럼 있음
# inplace = True
No_Age_df = df.drop('Age', axis = 1, inplace = True)
print(No_Age_df) # None
print(df) # 'Age' 칼럼 없음
'그로스 마케팅' 카테고리의 다른 글
[ 멋쟁이사자처럼부트캠프 그로스마케팅 부트캠프 ] SQL 심화: 제약 조건, Table 연결 (8) | 2025.02.12 |
---|---|
[ 멋쟁이사자처럼부트캠프 그로스마케팅 부트캠프 ] SQL 기초 문법 (6) | 2025.02.11 |
[ 멋쟁이사자처럼부트캠프 그로스마케팅 부트캠프 ] SQL 개요 (0) | 2025.02.10 |
이거 변수다 (0) | 2025.02.06 |
그로스 마케팅 핥아보기 (1) | 2025.02.04 |