1.列操作 apply
df.coulumn.function() (df.count.mean()这种)
例子:
将Name列全部大写
from string import upper
df['Name'] = df.Name.apply(upper)
用lambda操作列
例子:创建一列email的供应商
df['Email Provider'] = df.Email.apply(
lambda x: x.split('@')[-1]
)
2.行操作 lambda
if前一行结尾\ if结尾加\ 记得要axis=1
在使用lambda操作行的时候只要不加列名就是操作行
比如列操作( df.Email.apply)而行操作(df.apply)
则使用行操作 记得要axis=1
一个简单的判断方法是列操作只操作自己这列,行操作一般要用好几列的数据
例子1: 40小时以下和40小时以上不同薪,计算出每个人总薪
import codecademylib
import pandas as pd
df = pd.read_csv('employees.csv')
total_earned = lambda row: (row.hourly_wage * 40) + ((row.hourly_wage * 1.5) * (row.hours_worked - 40)) \
if row.hours_worked > 40 \
else row.hourly_wage * row.hours_worked
df['total_earned'] = df.apply(total_earned, axis = 1)
print(df)
例子2 分别进行列操作和行操作
import codecademylib
import pandas as pd
orders = pd.read