1.map函数
把一个函数功能,应用到另一个序列的每一个数据上
例一:
r = np.arrange(10)
r
def f(x):
if x%2 = 0:
return x/2
else:
return x*2
list(map(f,r))
r.map(f)
例二:
def f(x):
if x <90:
return "不及格"
elif x <120:
return "及格"
elif x <135:
return "良好"
else:
return "优秀"
grade[] = grade.math.map(f)
grade["姓"] = grade.name.map(lambda x:x[0])
grade["名"] = grade.name.map(lambda x:x[1:])
grade.height.map(lambda x:x[:-2]
d = {"巨蟹座":"巨蟹","双子座":"双子"}
df.星座.map(d)
df.星座.map(d,na_action = "ignore") #指定删除空值
2.apply函数
既可用于series,也可用于dataframe,针对序列中每一个值,针对dateframe中每一列
grade.语文.map(lambda x:"偶数" if x%2 = 0 else "奇数")
grade.语文.apply(lambda x:"偶数" if x%2 = 0 else "奇数")
grade.apply(np.sum,axis =0 ) #求总分,对每一行求和
3.applymap
针对dateframe,作用于dateframe的每一个元素,类似于map作用于series的效果
grade2.applymap(lambda x:x*3)
a = "sdf"
isinstance(a,int) #判断a是否是整型
def f(x):
if isinstance(x,str):
return x[-1]
elif isinstance(x,int):
return x%100
else:
return x
grade2.applymap(f)