1683. Invalid Tweets : leetcode

오유찬·2026년 1월 8일

pandas

목록 보기
5/9

문자열의 길이를 구할 때, len()이 아니라 str.len()을 써야 하는 이유

  • len() : Series의 크기를 재는 함수로 df에 행이 몇 줄이나 있는지 파악할 때 사용
  • str.len() : 각 행에 들어있는 문자열의 길이를 구할 때 사용

파이썬의 기본 len()은 결측치에 적용될 경우 에러가 발생하지만, pandas에서는 같은 결측치로 값을 반환한다.

pandas에서 데이터를 문자열이라고 인식시켜주는 접근자로 .str accessor을 사용한다.

tweets['length'] = tweets['content'].str.len() 가 문법 상으로 맞는 이유

pandas에선 df에다가 이중 리스트를 써야 하지 않나 싶은데 위의 코드가 문법적으로 맞는 이유가 뭘까?

새로운 컬럼을 만들거나, 데이터를 가공할 때는 대괄호 하나를 사용한다.이때는 데이터를 Series(1차원 배열) 형태로 다루기 때문이고, 만약에 dataframe 타입에다가 .str 접근자를 사용한다면 에러가 뜬다. dataframe은 테이블의 성격을 띄는데 테이블 자체의 문자열 길이를 측정할 수는 없기 때문에 에러가 발생한다.

import pandas as pd

def invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:
    tweets['length'] = tweets['content'].str.len()
    return tweets.loc[
        tweets['length'] >= 15,
        ['tweet_id']
    ]
    

코드를 더 간단하게 쓰려면

import pandas as pd

def invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:
    return tweets.loc[tweets['content'].str.len() > 15, ['tweet_id']]
profile
열심히 하면 재밌다

0개의 댓글