在 Pandas 中选择 map、applymap 和 apply
使用 Pandas DataFrame 时,通常需要对数据应用函数以各种方式。向量化常用的三种方法是map、applymap和apply。每个都有其独特的用途和应用。
Map
map 是特定于 Series 对象的方法,它将函数应用于 Series 中的每个元素。它需要一个接受单个值作为输入并返回单个值的函数。
示例:
import pandas as pd # Create a Series series = pd.Series([1, 2, 3, 4, 5]) # Apply a function to each element def square(x): return x**2 # Apply the function to the series using map squared_series = series.map(square) print(squared_series)
输出:
0 1 1 4 2 9 3 16 4 25 dtype: int64
Applymap
applymap 应用函数作用于 DataFrame 的每个元素,按元素执行操作。与 map 一样,它需要一个接受单个值作为输入并返回单个值的函数。
示例:
# Create a DataFrame df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) # Apply a function to each element of the DataFrame def format_number(x): return "{:.2f}".format(x) # Apply the function to the DataFrame using applymap formatted_df = df.applymap(format_number) print(formatted_df)
输出:
a b 0 1.00 4.00 1 2.00 5.00 2 3.00 6.00
申请
申请适用DataFrame 的每一行或每一列的函数,具体取决于轴参数。它比 map 和 applymap 更通用,可以处理需要传递多个值作为输入的函数。
示例:
# Apply a function to each row of the DataFrame def get_max_min_diff(row): return row.max() - row.min() max_min_diff = df.apply(get_max_min_diff, axis=1) print(max_min_diff)
输出:
0 3.00 1 3.00 2 3.00 dtype: float64
用法摘要
以上是何时使用 Pandas `map`、`applymap` 或 `apply`?的详细内容。更多信息请关注PHP中文网其他相关文章!