前面内容: pandas(02 pandas基本功能和描述性统计)
目录
一、Python Pandas 函数应用
要将自己或其他库的函数应用到Pandas对象上,您需要了解三个重要的方法。下面讨论了这些方法。使用适当的方法取决于您的函数是希望对整个DataFrame还是逐行/逐列或逐个元素进行操作。
- 逐行或逐列函数应用:apply()
- 逐个元素函数应用:applymap()
- 某一列的元素的应用: map()
- 表格全局函数应用:pipe()
1.1 apply()
可以使用 apply() 方法沿着DataFrame或Panel的轴应用任意函数。该方法和描述性统计方法一样,可以接受一个可选的axis参数。默认情况下,该操作按列进行,将每一列视为类似数组的对象。即:对象应用某个函数
例1:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
print('-'*25,'np.random.randn(5,3)即‘五行三列’的随机数','-'*25)
print(np.random.randn(5,3))
print('-'*25,'df','-'*25) #分割线
print(df)
print('-'*25,'对df进行求和','-'*25)
print(df.apply(np.sum))
运行结果(随机数,具体数值可能会不一样):
例2(设置参数axis=1,通过axis对行或者列进行应用函数):
print('-'*25,'对df进行求和,axis=1','-'*25)
print(df.apply(np.sum,axis=1))
例3(匿名函数):
print('-'*25,'匿名函数lambda,求最大值-最小值','-'*25)
print(df.apply(lambda x: x.max() - x.min()))
运行结果: