注意:applymap函数只有Dataframe有,Serise没有(这里不讨论三维的),固然applymap不能再DataFrame数据中取一列或者一行进行func
DataFrame.applymap(func)
此方法应用一个函数,该函数接受并返回一个Scalar到DataFrame的每个元素。
其实此方法可以实现apply中DataFrame中的功能,但是它会比applymap慢很多
如下列:
a = time.time()
df12 = pd.DataFrame({'manage_score': ['12', '34', '34', '56', '67'], 'math_score': ['23', '52', '35', '77', '67'], 'english_score': ['90', '23', '53', '66', '67']})
# df12 = df12.apply(lambda x: x + '-')
# print(df12)
df13 = df12.applymap(lambda x: x + '-')
print(df13)
b = time.time()
print(b-a)
结果:
df12所用的时间:0.028481245040893555
df13所用的时间:0.011883974075317383
可以看出慢了一倍的时间,这还是数据只有几条,所以尽量避免使用applymap