在Python中,如果要对数据使用函数,可以使用apply()、applymap()、map()来应用函数,括号内可以是直接函数,也可以是自定义函数(def)或匿名函数(lambad) .
import pandas as pd
import numpy as np
from pandas import DataFrame
from pandas import Series
df1= DataFrame({
"sales1":[-1,2,3],
"sales2":[3,-5,7],
})
df1
1、当我们想对DataFrame的数据进行逐行或逐列操作时,使用apply()。
df1.apply(lambda x :x.max()-x.min(),axis=1)
#axis=1,表示按行对数据进行操作
#从下面的结果可以看出,我们使用了apply函数之后,系统自动按行找值和最小值计算,每一行输出一个值
0 4
1 7
2 4
dtype: int64
df1.apply(lambda x :x.max()-x.min(),axis=0)
#默认参数axis=0,表示按列对数据进行操作
#从下面的结果可以看出,我们使用了apply函数之后,系统自动按列找值和最小值计算,每一列输出一个值
sales1 4
sales2 12
dtype: int64
2、当我们要对数据框(DataFrame)的每条数据进行操作时,使用applymap(),返回结果为DataFrame格式。
df1.applymap(lambda x : 1 if x>0 else 0)
#从下面的结果可以看出,我们使用了applymap函数之后,
#系统自动对每一个数据进行判断,判断之后输出结果
3、当我们要对Series的每一个数据进行操作时用map()。
df1.sales1.map(lambda x : 1 if x>0 else 0)
#df1.sales1就是一个Series
0 0
1 1
2 1
Name: sales1, dtype: int64
4.总结:对数据应用函数时,首先要检查数据结构是DataFrame还是Series。 Seriesj结构直接使用map()。如果DataFrame结构要按行或按列操作,选择相应的函数。 .
python学习网,免费的在线学习
,欢迎关注!
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python文件打包成exe提示找不到路径是什么原因?09/30
- ♥ 如何在python中打印列表的最后几个元素09/16
- ♥ python是如何解析json的11/29
- ♥ python if语句是什么09/24
- ♥ python需要声明类型吗12/02
- ♥ Python如何实现模式匹配10/29
内容反馈