본문 바로가기
Python/Pandas

판다스(Pandas) Series의 데이터 생성 및 억세스 방법

by healingmau 2022. 4. 28.

 


판다스(Pandas) Series의 데이터 생성 및 억세스 방법

 

 

 

1. 판다스의 장점

 

판다스(pandas)는 Numpy를

보완해서 만들어진 문법인데요.

이름을 입력할수 있도록 만들어졌습니다.

 

a. 기본적인 통계데이터를 제공하고,

b. NaN values 를 알아서 처리합니다.

c. 숫자 문자열을 알아서 로드합니다.

 

import pandas as pd

 

판다스를 사용하려면

먼저 호출을 해야 합니다.

 

판다스를 다룰때는 인덱스라는 용어는
왼쪽에 붙어있는 것을 가르킵니다.

(쉽게 사람용 인덱스라고 할께요 !!)

 


 

2. Series(시리즈) 기본 구조

 

 

Series(시리즈)는 1차원 배열과 같은

자료구조를 가지고 있습니다.

 

시리즈는 1차원 배열과는 다르게

데이터와 관련된 인덱스의 값도

함께 저장이 됩니다.

 

기본 형식


class pandas.Series(data=Noneindex=Nonedtype=Nonename=Nonecopy=Falsefastpath=
False)

출처 : https://pandas.pydata.org/docs/reference/api/pandas.Series.html

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ------------------------------------------------------------------------------ #
 
import pandas as pd
 
food = pd.Series([306'Yes''No'])
print(food)
 
>> [결과]
0     30
1      6
2    Yes
3     No
dtype: object
 
# ------------------------------------------------------------------------------ #
cs

 

Series(시리즈) 객체를 생성할때

인덱스를 따로 지정하지 않으면

기본적으로 0부터 시작하는 정수

인덱스값이 주어집니다.

 


 

3. Series(시리즈) 데이터 생성

 

시리즈는 데이터를 생성할때

리스트, 딕셔너리, 튜플로

만들수가 있습니다.

 

 

(1) 리스트(List)로 생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ------------------------------------------------------------------------------ #
 
import pandas as pd
gym = pd.Series(['태권도','합기도','주짓수','유도'])
print(gym)
 
>> [결과]
0    태권도
1    합기도
2    주짓수
3     유도
dtype: object
 
# ------------------------------------------------------------------------------ #
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ------------------------------------------------------------------------------ #
 
import pandas as pd
 
index = ['eggs''apples''milk''bread']
data = [306'Yes''No']
 
pd.Series(data= data, index= index)
 
>> [결과]
eggs       30
apples      6
milk      Yes
bread      No
dtype: object
 
# ------------------------------------------------------------------------------ #
cs

 

(2) 딕셔너리(Dictionary)로 생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ------------------------------------------------------------------------------ #
 
# 판다스 호출
import pandas as pd
 
gym_data = {'a' : '태권도''b' : '합기도''c' : '주짓수''d' : '유도'}
gym_list = pd.Series(gym_data)
gym_list
 
>> [결과]
0    태권도
1    합기도
2    주짓수
3     유도
dtype: object
 
# ------------------------------------------------------------------------------ #
cs

 

파이썬(Python)의 딕셔너리에서는

key(키) : value(밸류)가 존재합니다.

 

시리즈(Series)도 딕셔너리로

데이터를 생성하면 이와 유사합니다.

kye(키) 값은 인덱스값으로 들어갑니다.

 

(3) 튜플(Tuple)로 생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------------ #
 
# 판다스 호출
import pandas as pd
 
gym_data = ('태권도','합기도','주짓수','유도')
pd.Series(data= gym_data, index= ['a''b' , 'c''d'] )
 
>> [결과]
a    태권도
b    합기도
c    주짓수
d     유도
dtype: object
 
# ------------------------------------------------------------------------------ #
cs

튜플도 리스트와는 차이가 별로 없습니다.

 


 

3. Series(시리즈) 데이터 억세스

 

a.

인덱스만 보여주기


fruit.index
결과 >> Index(['apples','oranges','bananas'], dtype='object')

 

b.

데이터만 확인


fruit.values
결과 >> array([10, 6, 3], dtype=int64)


 

c.

데이터 접근 하기


fruit['apples']
결과 >> 10

변수 대괄호( [ ] ) 안에 억세스할

데이터의 인덱스명을 적어줍니다.

 


fruit[[
'apples', 'oranges', 'bananas']]
결과 >> apples 10

oranges 6
bananas 3
dtype: int64


선택해야 할 인덱스명이 여러개인 경우

변수 대괄호( [ ] ) 안에 리스트로

묶어서 적어줍니다.

 


fruit[    :  'oranges']
결과 >> apples    10
oranges    6
dtype: int64


불러오는 데이터의 인덱스에

~ 에서 ~ 까지 순서가 있다면

슬라이싱으로 불러옵니다.

 


fruit[0]

결과 >> 10

컴퓨터가 매기는 순위로

데이터 값을 불러올수 있습니다.

 


fruit[   1 :   ]
결과 >> oranges    6
bananas    3
dtype: int64


컴퓨터가 매기는 순위로

슬라이싱을 할수 있습니다.

 

d. 찾는 인덱스 ~가 있니? 


'apples' in fruit
>> True

in 을 사용하면 참과 거짓

True와 False를 알수 있습니다.

 

 

e. 찾는 데이터 ~ 가 있니?


10 in fruit.values
>> True


데이터값을 in으로 찾을때는

.values도 함께 써줘야 합니다.

 


 

3. 그 밖에 함수들!!

 

a. 데이터의 모양


groceries.shape

결과 >> (4, )

 

b. 데이터의 개수


groceries.size

결과 >> 4

 

c. 데이터의 차원 확인


groceries.ndim

결과 >> 1

 

f. 데이터 타입


groceries.dtype

결과 >> dtype('O')
(Object 의 O)

 

댓글