[pandas] 문자열에서 정규 표현식으로 그룹을 활용하는 방법
예제 import pandas as pd data1 = ['Home: 롯데, Away: 한화', 'Home: 삼성, Away: 기아'] s = pd.Series(data1) s 0 Home: 롯데, Away: 한화 1 Home: 삼성, Away: 기아 dtype: object 홈팀과 어웨이팀을 맞교환하자. 다양한 방법이 있겠지만, 정규 표현식으로 그룹을 나눠 해당 그룹을 맞바꾼 결과로 해결할 수 있다. 문자열 대체를 위해 str.replace 함수를 정규 표현식으로 사용하자. df['팀'].str.replace(r'Home: (.+), Away: (.+)', r'Home: \2, Away: \1', regex=True) out: 0 Home: 한화, Away: 롯데 1 Home: 기아, Away: 삼성 ..
2024. 2. 27.
[pandas] 각 열을 고윳값의 순서대로 정렬하기
예제: import pandas as pd data = { '지점': ['양재점', '관악점', '서초점', '관악점', '서초점', '양재점', '서초점', '양재점', '관악점'], '제품': ['콜라', '환타', '환타', '사이다', '콜라', '환타', '사이다', '사이다', '콜라'], '매출': [5000, 3000, 7000, 2000, 9000, 6000, 8000, 4000, 1000] } df = pd.DataFrame(data) df의 지점 열의 고윳값의 순서인 양재점-> 관악점-> 서초점 순서로 정렬하고 지점 안에서 제품을 정렬할 때도 제품 열의 고윳값 순서인 콜라-> 환타-> 사이다 순으로 정렬합니다 # 카테고리 자료형을 활용해 정렬합니다. out = df.sort_value..
2024. 2. 20.
[pandas] 그룹내에서 정렬하기
예제: import numpy as np import pandas as pd data1 = {'지점' : ['관악점', '관악점', '관악점', '양재점', '양재점', '양재점', '서초점', '서초점', '서초점'], '제품' : ['콜라', '사이다', '환타', '사이다', '콜라', '환타', '환타', '사이다', '콜라'], '매출' : np.arange(1, 10) * 1000} df = pd.DataFrame(data1) 지점의 정렬상태는 그대로 두고 제품만 콜라-> 사이다 -> 환타 순으로 정렬해 보겠습니다. Category 데이터를 활용해 정렬 순서를 정할 수 있습니다. # 정렬 순서 정하기 order = df['지점'].unique().tolist() + ['콜라', '사이다', '..
2024. 2. 20.
[pandas] 멀티 인덱스의 각 레벨의 유일 값 찾기
예제. import pandas as pddata1 = {('김판다', '영어'): [50, 20, 35], ('김판다', '국어'): [60, 5, 45], ('강승주', '영어'): [70, 10, 60], ('강승주', '국어'): [100, 30, 50]}df = pd.DataFrame(data1) df: columns의 첫 번째 레벨의 값을 반환해 보자. df.columns.unique(0) Index(['김판다', '강승주'], dtype='object') 김판다, 강승주 두 유일 값을 반환한다. 판다스 책이 출판되었습니다. 교보문고 구매 페이지, 알라딘 구매 페이지, yes24 구매 페이지
2024. 2. 20.