首页 > 后端开发 > Python教程 > Pandas 的'map”、'applymap”和'apply”方法有何不同?

Pandas 的'map”、'applymap”和'apply”方法有何不同?

Barbara Streisand
发布: 2024-12-09 12:20:12
原创
894 人浏览过

How Do Pandas' `map`, `applymap`, and `apply` Methods Differ?

了解 Pandas 中 Map、Applymap 和 Apply 方法之间的差异

在 Pandas 中使用矢量化时,了解这些区别至关重要在map、applymap 和apply 方法之间。这些方法提供了灵活的方式将函数按元素或按行/列应用于 DataFrame 和 Series。

Map:
Map 是专为按元素操作而设计的 Series 方法。它采用一个函数并将其应用于系列中的每个元素。考虑以下示例:

import pandas as pd

series = pd.Series([1, 2, 3, 4, 5])
squared_series = series.map(lambda x: x ** 2)
print(squared_series)
登录后复制

输出:

0    1
1    4
2    9
3   16
4   25
dtype: int64
登录后复制

Applymap:
Applymap 是一个 DataFrame 方法,它对整个数据执行逐元素操作数据框。它将指定的函数应用于 DataFrame 中的每个单独元素:

dataframe = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

formatted_dataframe = dataframe.applymap(lambda x: f'{x:.2f}')
print(formatted_dataframe)
登录后复制

输出:

   A   B
0  1.00  4.00
1  2.00  5.00
2  3.00  6.00
登录后复制

应用:
与 map 和 applymap 不同,apply对 DataFrame 的行或列进行操作。它接受一个函数并将其应用于每一行或每一列,具体取决于指定的轴参数:

# Apply function to each row
row_max = dataframe.apply(lambda row: row.max(), axis=1)
print(row_max)

# Apply function to each column
col_min = dataframe.apply(lambda col: col.min(), axis=0)
print(col_min)
登录后复制

输出:

0    3
1    5
2    6
dtype: int64

A    1
B    4
dtype: int64
登录后复制

使用注意事项:

  • 使用map进行逐元素操作系列。
  • 使用 applymap 对 DataFrame 进行逐元素操作。
  • 使用 apply 对 DataFrame 进行行或列操作。

以上是Pandas 的'map”、'applymap”和'apply”方法有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

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