在熊猫数据框中使用最近创建的属性来创建新属性

马特W.

我正在寻找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')

但想知道是否可以在同一通话中做到这一点?

BEN_YO

在中使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在熊猫中使用动态名称创建新的数据框,并添加新列

通过使用新的多索引重复一行来创建熊猫数据框

如何使用熊猫数据框的特定行和列来创建新系列?

在熊猫中使用自定义聚合函数在数据框中创建新列

使用合成来创建属性

使用查找值创建新的熊猫数据框

从熊猫值计数创建新的数据框

在熊猫数据框中创建新列

熊猫从几个分组创建新数据框

从熊猫数据框创建新的动态字典

使用mutate_at通过在同一数据框中使用其他列来创建新列

在函数中使用Dplyr创建新数据框

在python中使用曼哈顿距离创建新的数据框

熊猫创建一个新的数据框来存储行数

熊猫:通过比较2个不同数据框中的2个列来创建新列

熊猫数据框通过比较所有其他行来创建新列

如何通过计算熊猫数据框中的值来创建新系列?

查询数据框以在熊猫中创建新的数据框

通过将逻辑应用于现有数据框来创建新的熊猫数据框

创建一个数据框并在熊猫中使用for循环填充该数据框

从动态创建的文本框创建新属性

如何使用Tweepy创建熊猫数据框?

从数据透视表条件创建新的熊猫数据框

根据匹配的行数据在熊猫中创建新的数据框

在熊猫中,使用由列表列表过滤的数据创建新的数据框

如何使用数组和熊猫数据框创建数据框?

熊猫数据框通过复制前一个数据框的n次行并更改日期来创建新的数据框

Magento:使用选项创建新属性

数据框作为类属性,如何在类函数中使用熊猫选择它的某些部分?