개발로그필름
df.groupby("id")["product"].apply(list).tolist() 본문
728x90
반응형
SMALL
df.groupby("id")["product"].apply(list).tolist()
=> id별 구매한 제품 product를 리스트 형태로 변환하는 코드
1. groupby("id")
- df를 id별로 그룹화한다
- 같은 고객 id를 가진 데이터끼리 묶인다
2. ["product"]
- product를 선택해서 고객별 구매한 제품만 추출한다
3. .apply(list)
- 각 고객이 구매한 제품(product)를 리스트 형태로 변환한다
- 즉, 같은 고객이 구매한 모든 product 값을 하나의 리스트로 저장한다
4. .tolist()
- 최종적으로 각 고객별 제품 리스트를 요소로 갖는 리스트를 생성한다
예제 데이터
import pandas as pd
# 예제 데이터 생성
data = {
"id": [101, 101, 102, 102, 102, 103, 104, 104],
"product": ["음료", "과자", "과자", "라면", "음료", "과자", "라면", "과자"]
}
customer_df = pd.DataFrame(data)
print(customer_df)
코드 실행
basket_data = customer_df.groupby("id")["product"].apply(list).tolist()
print(basket_data)
실행 결과
[['음료', '과자'], ['과자', '라면', '음료'], ['과자'], ['라면', '과자']]
- 각 고객이 구매한 제품이 리스트 형태로 저장된 것
반응형
- id가 101이면 "음료", "과자" 를 구매했으므로 ['음료', '과자']가 저장된 것
반응형
LIST
'데이터분석가 > 데이터 TIL' 카테고리의 다른 글
[데이터 TIL] pandas에서 CSV 파일을 읽을 때 한글 인코딩 문제 해결 (0) | 2025.02.06 |
---|---|
[데이터 TIL] to_datetime() vs to_timedelta() 차이점 (1) | 2025.02.06 |
TransactionEncoder를 사용한 변환 (0) | 2025.02.05 |
[데이터 TIL] t-검정을 수행할 때 Variable 1 Range, Variable 2 Range에 컬럼명을 포함하지 않는 이유 (0) | 2025.02.02 |
[데이터 TIL] 왜 평균(Mean) ≈ 중앙값(Median) ≈ 최빈값(Mode)일 때 정규분포라고 할 수 있어? (0) | 2025.02.01 |