pandas 应用apply
时间: 2023-11-21 10:55:59 浏览: 151
pandas apply 函数 实现多进程的示例讲解
pandas的apply函数是一个非常强大的函数,它可以用于DataFrame和Series对象,通常用于一些复杂的遍历操作,比如对DataFrame的每一行或每一列执行一些自定义函数。下面是一些常见的用法:
1. 对DataFrame的每一行执行一些复杂的操作
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 定义一个自定义函数,对每一行进行操作
def my_func(row):
return row['A'] + row['B'] + row['C']
# 使用apply函数对每一行执行自定义函数
df['D'] = df.apply(my_func, axis=1)
# 输出结果
print(df)
```
输出结果:
```
A B C D
0 1 4 7 12
1 2 5 8 15
2 3 6 9 18
```
2. 对DataFrame的每一列执行一些复杂的操作
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 定义一个自定义函数,对每一列进行操作
def my_func(col):
return col.max()
# 使用apply函数对每一列执行自定义函数
df.apply(my_func, axis=0)
# 输出结果
print(df)
```
输出结果:
```
A 3
B 6
C 9
dtype: int64
```
3. 对DataFrame的每一个元素执行一些操作
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 定义一个自定义函数,对每一个元素进行操作
def my_func(element):
return element * 2
# 使用applymap函数对每一个元素执行自定义函数
df.applymap(my_func)
# 输出结果
print(df)
```
输出结果:
```
A B C
0 2 8 14
1 4 10 16
2 6 12 18
```
阅读全文