-
[Pandas] Series CRUD 알아보기Python 2024. 2. 21. 07:30728x90반응형
- 목차
들어가며.
Pandas Series 자료구조의 간단한 데이터 CRUD 에 대해서 알아보도록 하겠습니다.
Create.
먼저 Series 를 생성하는 방법에 대해서 알아보도록 하겠습니다.
Series 는 간단히 Python List 자료구조를 통해서 생성이 가능합니다.
아래 예시처럼 숫자 타입의 리스트를 준비하여 pandas 의 Series 함수를 통해서 Series 를 생성할 수 있습니다.
Series 함수의 data 인자를 통해서 리스트를 입력하고, name 인자를 통해서 Series 의 이름을 설정할 수 있습니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] sr = pd.Series(data=numeric_ls, name="numbers") print(sr.values.tolist()) print(sr.name)
[1, 2, 3, 4, 5, 6, 7, 8, 9] numbers Process finished with exit code 0
또한 index 를 수동으로 설정할 수도 있습니다.
기본적으로 index 의 기본값은 0 부터 시작하는 Range 형태인데요.
Series 의 index 속성을 조회하게 되면 아래와 같이 0 부터 시작하는 Range 값을 확인할 수 있습니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] sr = pd.Series(data=numeric_ls, name="numbers") print(sr.index.tolist())
[0, 1, 2, 3, 4, 5, 6, 7, 8]
아래와 같이 index 를 매뉴얼하게 설정할 수 있습니다.
저는 start : 0, step : 100 그리고 stop 이 800 인 Range 를 만들어 pandas 의 Series 함수에 index 입력값으로 사용하였습니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] index_range = range(0, len(numeric_ls) * 100, 100) sr = pd.Series(data=numeric_ls, index=index_range, name="numbers") print(sr.index.tolist())
[0, 100, 200, 300, 400, 500, 600, 700, 800]
Update.
Series 는 index 와 values 로 구성됩니다.
그리고 Update 관점에서 Series 는 Dictionary 와 유사하게 동작하는데요.
Series.index 를 Key, Series.values 를 Value 로 취급하는 Dictionary 와 유사합니다.
따라서 아래 예시처럼 Update 를 수행할 수 있습니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] sr = pd.Series(data=numeric_ls, name="numbers") sr[0] = 800 sr.values[1] = 8000 print(sr.values)
[ 800 8000 3 4 5 6 7 8 9]
Read.
Series 는 Iterator 처럼 동작할 수 있습니다.
그래서 For Loop 을 통해서 개별 데이터 단위로 조회가 가능합니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] index_range = range(0, len(numeric_ls) * 100, 100) sr = pd.Series(data=numeric_ls, index=index_range, name="numbers") for num in sr: print(num) for index in sr.index: print(index)
1 2 3 4 5 6 7 8 9 0 100 200 300 400 500 600 700 800
또한 Series 는 index 를 Key 로 가지는 Dictionary 처럼 활용할 수 있습니다.
아래의 예시처럼 Series 의 0번 index 의 값을 조회하기 위해서 sr[0] 과 같이 활용 가능합니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] index_range = range(0, len(numeric_ls) * 100, 100) sr = pd.Series(data=numeric_ls, index=index_range, name="numbers") value = sr[0] if 0 in sr.index else None print(value)
만약 존재하지 않는 index 를 조회하는 상황에서는 아래와 같은 Error 를 유발할 수 있으므로
위 예시처럼 삼항연사자를 통해서 예외처리를 하는 것이 중요합니다.
ValueError: 1 is not in range
Delete.
파이썬의 del 명령어를 통해서 Pandas Series 의 특정 Index 와 Value 를 삭제할 수 있습니다.
중요한 점은 index 와 value 를 같이 삭제해야합니다.
Pandas Series 는 index 와 values 의 매칭이 중요하기 때문에 한가지만을 삭제하여 둘의 1:1 매칭이 어긋나서는 안됩니다.
아래와 같이 del 명령어와 index 를 통해서 특정 index 와 value 를 삭제할 수 있습니다.
0번 index 와 해당하는 값이 삭제됩니다.
import pandas as pd numeric_ls = [1, 2, 3, 4, 5, 6, 7, 8, 9] sr = pd.Series(data=numeric_ls, name="numbers") del sr[0] print(sr.index.tolist()) print(sr.values)
[1, 2, 3, 4, 5, 6, 7, 8] [2 3 4 5 6 7 8 9]
반응형'Python' 카테고리의 다른 글
[Python] threading Condition 알아보기 ( wait, notify ) (0) 2024.03.09 [Python] io.BytesIO truncate 알아보기 (0) 2024.02.22 [python] datetime 여러 활용법 알아보기 ( datetime, timezone, truncate) (0) 2024.01.10 Seaborn heatmap 그리기 (0) 2024.01.07 Seaborn countplot 그리기 (0) 2024.01.07