pandas.apply
时间: 2023-08-08 07:11:29 浏览: 51
pandas.apply() 是 pandas 库中的一个函数,用于在 DataFrame 或 Series 的每一行或每一列上应用自定义函数。它将传入的函数应用于每个元素,并返回一个新的 Series 或 DataFrame。
例如,可以使用 apply() 函数计算 DataFrame 中每一行的总和或平均值,或者对 Series 中的每个元素进行字符串处理等操作。
要使用 apply() 函数,需要传入一个函数作为参数,该函数将应用于每个元素。可以使用 lambda 表达式或定义一个独立的函数来作为参数。
以下是一个示例,展示如何使用 apply() 函数计算 DataFrame 中每一列的平均值:
```
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 使用 apply() 函数计算每一列的平均值
column_mean = df.apply(lambda x: x.mean())
print(column_mean)
```
输出结果:
```
A 3.0
B 8.0
C 13.0
dtype: float64
```
这样就可以得到每一列的平均值作为一个新的 Series。
希望这个例子能帮助你理解 pandas.apply() 函数的用法。如果你有任何其他问题,请随时提问。
相关问题
pandas.apply()
pandas.apply()是Pandas库中的一个函数,它用于在DataFrame或Series上应用自定义函数。该函数可以接受一个函数作为参数,并将该函数应用于每个元素、行或列,返回一个新的Series或DataFrame。
使用pandas.apply()的一般语法如下:
```python
DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)
```
其中,参数说明如下:
- `func`:要应用的函数。
- `axis`:指定应用函数的轴,0表示按列应用,1表示按行应用。
- `raw`:指定是否将行(或列)传递给函数作为Series,默认为False,表示将行(或列)转换为ndarray。
- `result_type`:指定返回结果的类型,可选值为'expand'、'reduce'或'broadcast',默认为None。
- `args`和`kwds`:可选的附加参数。
下面是一个简单的示例,演示如何使用pandas.apply()函数:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 定义一个自定义函数
def square(x):
return x ** 2
# 应用函数到每个元素
result = df.apply(square)
print(result)
```
这将输出一个新的DataFrame,其中每个元素都被平方。
pandas. Apply多列
在pandas中,apply函数可以用于同时应用于多列数据。你可以使用apply函数在每一行或每一列上执行自定义函数。
如果你想要在多列上应用同一个函数,可以使用apply函数的axis参数来指定轴的方向。默认情况下,axis=0表示在每一列上应用函数,axis=1表示在每一行上应用函数。
以下是一个示例,演示如何在多列上应用apply函数:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
df = pd.DataFrame(data)
# 定义一个函数,将两个列相加
def sum_two_columns(row):
return row['A'] + row['B']
# 在多列上应用函数
df['D'] = df.apply(sum_two_columns, axis=1)
print(df)
```
输出结果如下:
```
A B C D
0 1 4 7 5
1 2 5 8 7
2 3 6 9 9
```
在这个示例中,我们创建了一个包含三列的DataFrame,并定义了一个函数`sum_two_columns`,它将列'A'和列'B'的值相加。然后,我们使用apply函数将这个函数应用到每一行上,并将结果存储在新的列'D'中。
希望这个示例能帮助你理解如何在pandas中使用apply函数在多列上应用自定义函数。