Pandas 中的向量化方法:map、applymap 和 apply
Pandas 提供了將函數應用於資料結構的便捷方法。 map、applymap 和 apply 是有助於資料運算和轉換的三種方法。每種方法都有特定的目的,其使用取決於所需的結果。
map
map 在將函數以元素應用於系列時使用。它傳回一個具有轉換後的值的新系列。
範例:
import pandas as pd series = pd.Series([1, 2, 3, 4, 5]) def square(x): return x ** 2 squared_series = series.map(square) print(squared_series) # Output: # 0 1 # 1 4 # 2 9 # 3 16 # 4 25 # dtype: int64
applymap
applymap 應用函數逐元素到 DataFrame。它使用轉換後的值來建立一個新的 DataFrame。
範例:
df = pd.DataFrame({ 'name': ['John', 'Jane', 'Tom'], 'age': [20, 25, 30] }) def capitalize(x): return x.capitalize() df['name'] = df['name'].applymap(capitalize) print(df) # Output: # name age # 0 John 20 # 1 Jane 25 # 2 Tom 30
apply
apply 允許更多透過對DataFrame 逐行或逐列應用函數逐行或逐列應用函數逐行來進行複雜的轉換。它傳回帶有結果的 Series 或 DataFrame。
範例:
def get_age_group(age): if age <= 20: return 'Young' elif age <= 40: return 'Middle-aged' else: return 'Senior' df['age_group'] = df['age'].apply(get_age_group) print(df) # Output: # name age age_group # 0 John 20 Young # 1 Jane 25 Middle-aged # 2 Tom 30 Middle-aged
以上是Pandas 向量化中的「map」、「applymap」和「apply」有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!