Pandas 개념정리1

채채·2024년 12월 2일

Pandas란?

pandas라는 라이브러리는 정형데이터를 처리함.
주로 표 형태의 데이터인 csv, excel
pandas는 numpy를 바탕으로 만들어졌기 때문에 통계연산을 쉽게 할 수 있음.

pandas의 두가지 자료형이 있음..

  • series
    index - value

  • dataframe
    index - column -value

먼저 Seriese!

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

이번엔 DataFrame !

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
profile
화이팅

0개의 댓글