Python

[Python] 판다스(Pandas) : 시리즈(Series) 사용법 정리

Let it out 2024. 2. 10. 22:45

Pandas import

Pandas 패키지를 설치하고 pd 라는 이름으로 import 해주는 것이 관례다.
import pandas as pd
 

 

시리즈(Series)

시리즈 1차원 배열 값(values)에 대응하는 인덱스(index)를 부여할 수 있다.
 
"1000, 2000, 3000, 4000" 이라는 에 각각 "레쓰비, 콜라, 맥주, 소주" 라는 인덱스를 부여하는 예제다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"])

print(sr)
<결과>
레쓰비    1000
콜라     2000
맥주     3000
소주     4000
dtype: int64
 
 

값, 인덱스 출력

값과 인덱스를 출력 할 수 있다.
print('값 : ', sr.values)
print('인덱스 : ', sr.index)

<결과>

값 :  [1000 2000 3000 4000]
인덱스 :  Index(['레쓰비', '콜라', '맥주', '소주'], dtype='object')
 
 
 

name 속성

name 속성을 사용하면 시리즈의 이름을 지정 할 수 있다.
 
 Name : Example 로 시리즈의 이름을 지정했다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

print(sr)
<결과>
레쓰비    1000
콜라     2000
맥주     3000
소주     4000
Name: Example, dtype: int64
 
 
 

인덱스 지정 하지 않기

인덱스를 지정 하지 않고  값으로만 시리즈를 생성 할 수 있다.
 

인덱스를 지정하지 않으면, 인덱스의 값은 0부터 시작하는 시퀀스가 지정된다.

import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000], name = "Example")

print(sr)

<결과>
0    1000
1    2000
2    3000
3    4000
 
 
 

시리즈 인덱싱 접근

인덱싱 접근도 가능하다.
 
레쓰비의 값을 출력했다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

print(sr['레쓰비'])
<결과>
1000
 
 
 

값 바꾸기

인덱스에 접근해 값도 바꿀 수 있다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

sr['레쓰비'] = 5000
print(sr)
<결과>
레쓰비    5000
콜라     2000
맥주     3000
소주     4000
Name: Example, dtype: int64
 
 
 

명시적 인덱스 접근 VS 암시적 인덱스 접근

인덱스 지정 후, 인덱스 접근 시 인덱스의 명으로도 접근 할 수 있고 시퀀스(숫자)로도 접근이 가능하다.
 
이때, 인덱스 명으로 접근하면 명시적 인덱스 접근,
 
시퀀스(숫자)로 접근하면 암시적 인덱스 접근이라고 한다.

 

 

명시적 인덱스 접근 

명시적 인덱스 접근은 인덱스 명으로 접근해야 한다. 따라서 시퀀스(숫자)를 적으면 에러가 발생한다.
 
loc 속성을  사용해 인덱스 명을 적어주면 된다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

print(sr.loc["레쓰비"])
<결과>
1000
 
 

암시적 인덱스 접근 

암시적 인덱스 접근은 인덱스 명 대신 시퀀스를 적어주면 된다.
 
iloc 속성을 사용해 시퀀스를 적어준다.
 
레쓰비, 콜라, 맥주, 소주 는 순서대로 0, 1, 2, 3번째 시퀀스가 된다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

print(sr.iloc[0])
<결과>
1000
 
 

인덱스 슬라이싱

인덱스 슬라이싱도 가능하다.
import pandas as pd

sr = pd.Series([1000, 2000, 3000, 4000],index=["레쓰비", "콜라", "맥주", "소주"], name = "Example")

print(sr[0:2])
<결과>
레쓰비    1000
콜라     2000
Name: Example, dtype: int64
 
 
 

딕셔너리로 시리즈 생성

지금까지 위에 예제는 리스트로 시리즈를 만들었다.
 
리스트 뿐만 아니라 딕셔너리로도 시리즈를 만들 수 있다.
import pandas as pd

sr = pd.Series({"레쓰비":1000, "콜라":2000, "맥주":3000, "소주":4000}, name = "Example")

print(sr)
<결과>
레쓰비    1000
콜라     2000
맥주     3000
소주     4000
Name: Example, dtype: int64
반응형