pandas 란?
데이터 프레임을 효과적으로 다룰수 있는 라이브러리로 , panel datas의 약자로 파이썬 기반 데이터 분석에서 많이 사용되는 라이브러리 립니다.
사용방법
- import pandas
- import pandas as pd
판다스 설치하는 법
1. pip (파이썬 패키지 관리 시스템) 를 설치 안했다면? (맥 MAC) - 3.9 버전 기준
윈도우는 python3.9 대신에 python을 입력하세요!
2. pip를 이용해서 pandas 설치
윈도우 cmd
$ python -m pip install pandas
맥 터미널 (3.9 버전 기준)
$ python3.9 -m pip install pandas
데이터 프레임
데이터 프레임은 행(인덱스)와 열(컬럼)으로 구분되는 테이블형 데이터 베이스입니다.
인덱스는 별도로 지정을 하지 않으면 정수로 지정되고, 한번 정해진 인덱스는 불변입니다.
데이터 프레임 만들기
- 크기 : 3행 2열
- 인덱스 명: m1 , m2 , m3
- 컬럼 명 : price , num
- 값 : 랜덤 숫자
행렬로 데이터 프레임 입력하기
col = ["unit price" , "number"]
rows = ["store1","store2","store3"]
df = pd.DataFrame([[1000 , 25],[280 , 120],[900 , 30]] , rows,col)
특정 열 접근 및 마스킹
특정 열 접근
-형식 : 데이터프레임[칼럼 명]
마스킹
-boolean 로직 결과를 데이터 프레임에 입력
print(df) : 데이터 프레임을 출력합니다.
df[칼럼명] : 해당 칼럼에 해당하는 값들을 골라냅니다.
df[칼럼명] <조건> : 해당 조건에 대한 열들의 true/false 를 반환합니다.
df[마스킹] : true에 해당하는 열들만 테이블로 출력합니다.
칼럼 간 연산
칼럼 내 모든 값들 사이에 연산이 적용되고, 연산 결과를 새로운 칼럼에 저장할수 있습니다.
sum 함수 axis
sum함수 axis는 축을 의미합니다.
선형대수학에서 m*n 행렬이 있다고 하면 (m이 세로 , n이 가로)
axis = 0 은 m축을 의미하고 axis = 1은 n축을 의미하는데, 그 축을 기준으로 쭉 합계를 구합니다.
배열에서 축은 아래와 같습니다.
axis = 1, 즉 n 축을 기준으로 했기 때문에 각 price와 num이 합해져서
[ 0.898094 , 1.217364 , 1.252768]
와같은 행렬이 만들어 집니다.
만약에 axis = 0으로 했다면 m축 기준이니까 세로로 더하겠죠?
다차원 배열에도 axis를 통해서 다룰수 있습니다.
0: 첫번째 차원 , 세로
1: 두번째 차원 ([][]) 가로
3 : 세번째 차원([][][]) z축
총가격이 가장 높은 열만 출력 예제
import pandas as pd
import numpy as np
# 객체 수 선언!#########
number_of_stores = 3
#####################
rows = []
col = ["unit price" , "number"]
#make columns
for i in range(1,number_of_stores+1):
rows.append(("store "+str(i)))
df = pd.DataFrame([[1000 , 25],[280 , 120],[900 , 30]] , rows,col)
# 생성한 테이블 출력
print(df)
# 총 가격이라는 새로운 필드 생성하고 출력
df['total price'] = df['unit price']*df['number']
print(df)
# 총 가격이 가장 큰 테이블 출력
priceSet = df['total price']
max=0
for price in priceSet:
if(price>max):
max=price
#특정열 마스킹
df[df['total price']>=max]
'알고리즘 PS (백준) > 🐍 Python (파이썬)' 카테고리의 다른 글
[백준 11659번] 누적 합 알고리즘-파이썬(python) (0) | 2022.10.01 |
---|---|
[파이썬 python] Matplot 설치 및 활용 (데이터 시각화 , 그래프) (2) | 2022.06.19 |
[파이썬 python] : numpy 설치 및 활용 (배열 , 수학/행렬연산 , 코싸인 유사도) (0) | 2022.06.02 |
[파이썬 python] 클래스 (객체 , class) 만들기 (0) | 2022.06.02 |
[파이썬 python] 파일 입출력 , csv 파일 읽기 + (기상,지하철 데이터 분석) (0) | 2022.06.01 |
댓글