예를 들어
'b-01-01', 'b-01-02', 'c-01-01', 'c-01-02'
라는 이름을 가진 series 가 있을 때
앞의 b-01, c-01 끼리 subgroup을 만드려고 한다면!
import pandas as pd
# 시리즈 생성
index_data = ['b-01-01', 'b-01-02', 'c-01-01', 'c-01-02']
values = [10, 20, 30, 40]
series = pd.Series(values, index=index_data)
# 특정 패턴을 가진 인덱스를 선택
selected_indices = series[series.index.str.startswith('b-01') | series.index.str.startswith('c-01')]
# 선택된 인덱스의 형태 수정
new_indices = selected_indices.index.str.split('-').str[1]
# 새로운 시리즈 생성
new_series = pd.Series(selected_indices.values, index=new_indices)
print(new_series)
이것을 확장하여서 for 문을 넣어서 만들면!
import pandas as pd
namelist=['b-01-01', 'b-01-02', 'c-01-01', 'c-01-02']
result_s=pd.Series(~~~~)
#특정 패턴을 가진 인덱스를 선택
new_series={}
for k in namelist:
new_k=k.split('-')[0]+'-'+k.split('-')[1]
selected_result_s = result_s[result_s.index.str.startswith(new_k) ]
new_indices=selected_result_s.index.str.split('-').str[2]
new_series[new_k]=pd.Series(selected_result_s.values, index=new_indices)
'IT > Python' 카테고리의 다른 글
python nuclear translocation analysis - from imagej (1) | 2023.10.28 |
---|---|
python 딕셔너리, 데이터프레임 알파벳 순서로 재정렬하기 (2) | 2023.10.28 |
파이썬으로 정규분포그래프 그리기 python normal distribution (0) | 2021.06.20 |
python GUI (6) 파이썬 GUI 실행파일 만들기 .py to .exe (pyinstaller) (0) | 2020.04.20 |
파이썬으로 signal processing (scipy.signal) (0) | 2020.04.16 |
댓글