아미(아름다운미소)

백터화 본문

랭귀지/pandas

백터화

유키공 2025. 3. 11. 07:45
import pandas as pd
import numpy as np

def p_location_vectorized(df, p_location_col):
    # 벡터화된 연산을 위해 numpy의 where 함수를 사용
    df['return_value'] = np.where(
        df[p_location_col].str.contains('@'),  # '@'가 포함된 경우
        df[p_location_col].str.split('@').str[-1],  # '@' 이후의 부분을 반환
        np.where(
            df[p_location_col].str.contains('\\$'),  # '$'가 포함된 경우
            df[p_location_col].str.split('\\$').str[-1],  # '$' 이후의 부분을 반환
            df[p_location_col]  # 둘 다 포함되지 않은 경우 원래 값 반환
        )
    )
    return df

# 예시 DataFrame 생성
data = {'p_location': ['user@example.com', 'location$city', 'no_special_char']}
df = pd.DataFrame(data)

# 함수 적용
df = p_location_vectorized(df, 'p_location')
print(df)
Comments