首页 > 后端开发 > Python教程 > 何时使用 Pandas `map`、`applymap` 或 `apply`?

何时使用 Pandas `map`、`applymap` 或 `apply`?

Linda Hamilton
发布: 2024-12-07 08:36:16
原创
810 人浏览过

When to Use Pandas `map`, `applymap`, or `apply`?

在 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
登录后复制

用法摘要

  • map:按元素函数应用到Series
  • applymap:按元素函数应用到DataFrame
  • 应用:按行/列函数应用到 DataFrame,具有灵活的输入/输出处理

以上是何时使用 Pandas `map`、`applymap` 或 `apply`?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板