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中文网其他相关文章!