map\apply\applymap各自方法的作用对象是什么类型?方法内可传递的参数类型有哪几种?可用实现什么功能?
时间: 2024-02-11 18:04:34 浏览: 47
浅谈Pandas中map, applymap and apply的区别
`map`、`apply` 和 `applymap` 是 Pandas 库中常用的三种方法,它们的作用对象和参数类型有所不同。
1. `map` 方法
作用对象:Series 类型。
参数类型:函数,字典或 Series。
功能:将一个函数、字典或 Series 映射到 Series 中的每个元素上,返回一个新的 Series。当传入函数时,函数对于 Series 中的每个元素进行计算,返回值组成新的 Series;当传入字典或 Series 时,根据字典或 Series 中的映射关系,将 Series 中的元素进行替换。
示例:
```python
import pandas as pd
# 创建 Series 类型数据
data = pd.Series([1, 2, 3, 4, 5])
# map 方法对 Series 中的每个元素加 1
new_data = data.map(lambda x: x + 1)
# 打印输出结果
print(new_data)
```
输出结果为:
```
0 2
1 3
2 4
3 5
4 6
dtype: int64
```
2. `apply` 方法
作用对象:Series 或 DataFrame 类型。
参数类型:函数。
功能:将一个函数应用于 Series 或 DataFrame 的每一行或每一列,返回一个新的 Series 或 DataFrame。
示例:
```python
import pandas as pd
# 创建 DataFrame 类型数据
data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# apply 方法对 DataFrame 中的每一列求和
new_data = data.apply(lambda x: x.sum())
# 打印输出结果
print(new_data)
```
输出结果为:
```
A 6
B 15
C 24
dtype: int64
```
3. `applymap` 方法
作用对象:DataFrame 类型。
参数类型:函数。
功能:将一个函数应用于 DataFrame 的每一个元素,返回一个新的 DataFrame。
示例:
```python
import pandas as pd
# 创建 DataFrame 类型数据
data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# applymap 方法对 DataFrame 中的每一个元素乘 2
new_data = data.applymap(lambda x: 2 * x)
# 打印输出结果
print(new_data)
```
输出结果为:
```
A B C
0 2 8 14
1 4 10 16
2 6 12 18
```
阅读全文