Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 판다스 시리즈에서 가장 긴 문자열 찾는 방법

문제 개요

판다스(Pandas) Series에 여러 문자열이 저장되어 있을 때, 그중 길이가 가장 긴 문자열을 찾아 출력하는 프로그램을 파이썬으로 작성해 보겠습니다.

입력 예시

다음과 같은 Series가 있다고 가정합니다.

["one", "two", "eleven", "pomegranates", "three"]

이 Series에서 가장 긴 문자열은 "pomegranates"입니다.

해결 방법

이 문제는 아래 단계를 따라 해결할 수 있습니다.

  • Series를 정의합니다.

  • 최대 길이를 저장할 변수 maxlen의 초기값을 0으로 설정합니다.

  • 최장 문자열을 저장할 변수 maxstr을 빈 문자열("")로 초기화합니다.

  • for 반복문으로 Series의 모든 값을 하나씩 순회하면서, if 조건문으로 각 값의 길이를 현재 최대 길이와 비교합니다.

for i in res:
    if(len(i) > maxlen):
        maxlen = len(i)
        maxstr = i
  • 마지막으로 maxstr 변수에 저장된 값을 출력합니다.

예제 코드

아래 구현 예시를 통해 더 자세히 이해해 보겠습니다.

import pandas as pd

res = pd.Series(["one","two","eleven","pomegranates","three"])
maxlen = len(res[0])
maxstr = ""

for i in res:
    if(len(i) > maxlen):
        maxlen = len(i)
        maxstr = i

print(maxstr)

출력 결과

pomegranates

대안 방법: max() 함수 활용하기

반복문 없이 더 간결하게 해결하고 싶다면, 파이썬 내장 함수 max()key=len 옵션을 지정하는 방법도 유용합니다. 이 방식은 코드가 짧아지고 가독성이 높아집니다.

import pandas as pd

res = pd.Series(["one","two","eleven","pomegranates","three"])
print(max(res, key=len))

실행하면 동일하게 pomegranates가 출력됩니다. 데이터 크기가 큰 경우에는 반복문 방식보다 내장 함수를 활용하는 편이 성능 면에서도 유리할 수 있습니다.