(1)map()
函数:map(function, iterable, …)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
function – 函数
iterable – 一个或多个序列注意这里可以是一个或者多个数组成的列表
def f(x):
return x*x
map(f,[2,3])
在python中返回的是迭代器。
(2)df.applymapp()
结构:DataFrame.applymap(func)
此方法应用一个函数,该函数接受并向数据帧的每个元素返回一个标量。
参考
df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])
df.applymap(lambda x: len(str(x)))
表示会对每一个元素进行func操作。
0 1
0 3 4
1 5 5
(3)# 在指定轴上使用一个或多个操作进行聚合。
df.agg()等价于df.aggregate()
DataFrame.agg(func, axis=0, *args, **kwargs)
df = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[np.nan, np.nan, np.nan]],
columns=['A', 'B', 'C'])
df.agg(['sum', 'min'])
df.aggregate(['sum', 'min'])#等价于df.agg()
结果:
A B C
sum 12.0 15.0 18.0
min 1.0 2.0 3.0
参考文档
(4)df.apply()
DataFrame.apply(func, axis=0, broadcast=None, raw=False, reduce=None,
result_type=None, args=(), **kwds)[source]
该函数最有用的是第一个参数,这个参数是函数.
详情请看
df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df.apply(np.sqrt)
结果:
A B
0 2.0 3.0
1 2.0 3.0
2 2.0 3.0
(5)transform()
df.transform()
DataFrame.transform(func, axis=0, *args, **kwargs)
表示调用函数func,并返回与原数据有相同长度的数据帧,就相当于在元数据上进行函数操作,并返回值
参考
import numpy as np
s = pd.Series(range(3))
s.transform([np.sqrt,np.exp])
结果:
sqrt exp
0 0.000000 1.000000
1 1.000000 2.718282
2 1.414214 7.389056