主要讲二者的结合应用
1、基础函数的应用
frame = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'),
index=['Utah', 'Ohio', 'Texas', 'Oregon'])
2、lambda函数
也叫匿名函数,即,函数没有具体的名称,不用考虑函数命名;使用lambda可以省去定义函数的过程,让代码更加精简。
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。
def ff(x):
return 3.1415926*x
#等价于
gg = lambda x : 3.1415926*x
应用在数组上:
f = lambda x: x.max() - x.min()
#应用到列上
frame.apply(f)
#应用到行上
frame.apply(f, axis='columns')
series和函数的应用,注意是一列一列的,应为是序列。
def f0(x):
return pd.Series([x.min(), x.max()], index=['min', 'max'])
frame.apply(f0)
3、函数的映射
format = lambda x: '%.2f' % x
frame.applymap(format)
4、排序和排名
obj = pd.Series(range(4), index=['d', 'a', 'b', 'c'])
obj.sort_index()
#逆序
frame.sort_index(ascending=False)
#按列民排序
frame.sort_index(axis=1)
frame.sort_index(axis=1, ascending=False)#降序
#按取值对seriex排序
#**sort_values**函数的使用
obj = pd.Series([4, 7, -3, 2])
obj.sort_values()
#对于dataframe,按'b'的列排序
frame.sort_values(by='b')
#存在两个以上排序
frame.sort_values(by=['a', 'b'])
#默认方法是排名相同时,取排名平均作为rank
obj.rank()
#series里出现重复label的index
obj.index.is_unique