如何在Python代码中实现R语言的case_when函数?
以下是R语言的case_when函数:
https://www.rdocumentation.org/packages/dplyr/versions/0.7.8/topics/case_when
假设我们有以下数据框(下面是Python代码):
import pandas as pd
import numpy as np
data = {'name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'age': [42, 52, 36, 24, 73],
'preTestScore': [4, 24, 31, 2, 3],
'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(data, columns = ['name', 'age', 'preTestScore', 'postTestScore'])
df
假设我们想创建一个名为“elderly”的新列,该列查看“age”列并执行以下操作:if age < 10 then baby
if age >= 10 and age < 20 then kid
if age >=20 and age < 30 then young
if age >= 30 and age < 50 then mature
if age >= 50 then grandpa
有人能帮忙吗?
df["age"].eq("fourty")
,因为这样可以继续使用位运算符&
。 - Alexnp.select
函数有一个default
参数,当所有条件都为False
时使用:np.select(conditions, choices, default='Grandpa')
。然后您可以从conditions
和choices
列表中删除最后一个元素。 - Alex