pandas라는 라이브러리는 정형데이터를 처리함.
주로 표 형태의 데이터인 csv, excel
pandas는 numpy를 바탕으로 만들어졌기 때문에 통계연산을 쉽게 할 수 있음.
pandas의 두가지 자료형이 있음..
series
index - value
dataframe
index - column -value
series는 index와 value로 이루어져있음.
import pandas as pd
s1 = pd.Series([10,20,30,40])
0 10
1 20
2 30
3 40
4 50
dtype: int64
s1.sum()
s1.mean()
sum, mean 등의 통계적 연산 사용 가능.
인덱스도 바꿀 수 있고, 시리즈의 이름도 지정할 수 있음.
Series의 첫글자는 꼭 대문자로 써야 함
s2 = pd.Series(['쏘니','아치','루카스','벤'],index=['하나','둘','셋','넷'], name='출석부')
하나 쏘니
둘 아치
셋 루카스
넷 벤
Name: 출석부, dtype: object
dictionary의 형태로도 받을 수 있음
s3 = pd.Series({'name':'쏘니', 'age':'32','gender':'male', 'job':'footballer'})
name 쏘니
age 32
gender male
job footballer
dtype: object
age에 숫자가 들어가있지만 타입은 object로 나타남
dic1 = {'name':'쏘니', 'age':'32','gender':'male', 'job':'footballer'}
pd.Series(dic1)
dic 1에 저장해서 사용도 가능
s4 = pd.Series(['국어', '수학', '사회', '과학'])
인덱싱도 가능함
s4[0]
s4[2:] 등등
원하는 값이 어디에 있는지 찾을 수 있음.
논리연산자로 나타남
s3 == 'footballer'
name False
age False
gender False
job True
dtype: bool
s3[s3=='footballer']
job footballer
dtype: object
pd.DataFrame([10,20,30,40,50])

그림처럼 데이터프레임의 형태로 나타남. (시리즈와 다른점 : 컬럼이 생김)
pd.DataFrame([[10,20,30,40],['철수','영희','분식','은희']])

리스트를 두개 작성하면 행이 늘어남
데이터를 작성한 후 , columns와 index를 지정할 수 있음.
df1 = pd.DataFrame([[1000,'과자','2019-12-31','반품'],
[2000, '음료', '2020-03-02','정상'],
[3000, '아이스크림', '2020-02-03', '정상'],
[1000, '과자', '2019-12-31', '반품']],
columns=['가격','종류','판매일자','반품여부'],
index=[1,2,3,4])

한 컬럼씩 조회하면 시리즈의 형태로 나타남
df1['가격']
1 1000
2 2000
3 3000
4 1000
Name: 가격, dtype: int64
그러나 괄호를 두개 쓴다면? >> 데이터프레임 형태로 나타남
또한, 두개 이상의 컬럼을 조회할 때는 꼭 괄호 2개를 써야함
컬럼이 2개가 되면 시리즈 형태로 받을 수 없기 때문.
df1[['가격']]

sum, mean 같은 통계적 계산 함수도 사용가능함
df1['가격'].sum()
7000