파이썬(Python)&판다스(Pandas)&Polars
[Pandas] groupby, agg 여러 행을 단일 행의 리스트로 넣기
송채채
2023. 4. 28. 14:07
pandas의 explode 함수의 반대 기능을 하는 코드를 소개합니다.
chatGPT의 도움을 받아 작성된 코드입니다.
문자열을 단일 행에 리스트로 합치는 방법은 다음과 같이 groupby
와 agg
를 사용하여 구현할 수 있습니다.
import pandas as pd
# 예시 데이터프레임
df = pd.DataFrame({
'id': [1, 1, 2, 2],
'text': ['hello', 'world', 'foo', 'bar']
})
# 문자열을 합쳐서 리스트로 만들기
grouped = df.groupby('id')['text'].apply(list).reset_index(name='text_list')
위 코드에서 groupby
를 사용하여 id
를 그룹으로 지정하고, agg
함수 대신 apply
함수를 사용하여 text
컬럼의 값을 리스트로 변환하고, reset_index
함수를 사용하여 결과를 데이터프레임 형태로 변환합니다.
결과 데이터프레임은 다음과 같습니다.
id text_list
0 1 [hello, world]
1 2 [foo, bar]
반응형