我正在寻找R的mutate等效项,它允许您在同一mutate调用中创建定义的变量后立即引用它们。
new_df <- old_df %>%
mutate(new_col = ifelse(something, 0, 1),
newer_col = ifelse(new_col == 0, 'yay', 'nay'))
在python pandas中寻找等效项。
如果创建以下数据框,我想知道是否可以使用一种方法.assign
来执行相同的操作?
dic = {'names': ['jeff', 'alice', 'steph', 'john'],
'numbers':[4, 6, 5, 7]}
df = pd.DataFrame(dic)
df = df.assign(less_than_6 = np.where(df.numbers < 6, 100, 0),
pass_fail = np.where(df.less_than_6 == 100, 'pass', 'fail'))
我能想到的替代方案是..
df['less_than_6'] = np.where(df.numbers < 6, 100, 0)
df['pass_fail'] = np.where(df.less_than_6 == 100, 'pass', 'fail')
但想知道是否可以在同一通话中做到这一点?
在中使用dict assign
df.assign(**{'less_than_6' :lambda x : np.where(x['numbers'] < 6, 100, 0)}).assign(**{'pass_fail':lambda x : np.where(x['less_than_6'] == 100, 'pass', 'fail')})
Out[202]:
names numbers less_than_6 pass_fail
0 jeff 4 100 pass
1 alice 6 0 fail
2 steph 5 100 pass
3 john 7 0 fail
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句