遍历数据框中的所有行并根据比较其他列生成新列

伯里什

我有以下数据框:

ID 姓名 价值 意思 标准 降低
894.68 154.00 2.33 203.16 189.18
1045.28 196.17 4.50 204.00 186

对于每一行,我试图通过比较valuewithupper来创建一个新列,lower如下所示:

df['new_col'] = df[df['mean'].notnull()].apply(lambda x: False if x['value']>x['upper'] or x['value']<x['lower'] else True)

它给了我一个我不太清楚的错误:KeyError: 'value'. 我猜它找不到x['value'],对吧?我如何解决它?

阿努拉格·达巴斯

尝试直接输入您的条件,这将直接为您提供布尔系列:

df['new_col'] = (~((df['value']>df['upper']) | (df['value']<df['lower'])) & df['mean'].notnull())

或者

通过apply()但它会很慢,因为它在引擎盖下循环所以通过axis=1

df['new_col'] = df[df['mean'].notnull()].apply(lambda x: False if x['value']>x['upper'] or x['value']<x['lower'] else True,axis=1)

的输出df

     ID     name    value   mean    std     upper   lower   new_col
0   NaN     NaN     894.68  154.00  2.33    203.16  189.18  False
1   NaN     NaN     1045.28 196.17  4.50    204.00  186.00  False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

遍历数据框中的某些列

Spark-遍历数据帧中的所有行,将每一行的多列与另一列进行比较

遍历数据框中的行创建一个新列,然后基于该新列添加更多列

遍历数据框中的文本列

基于遍历和比较其他数据框中的列来创建新的数据框

根据其他列中的值,在数据框中创建具有递增值的新列

遍历数据框中的行和列

遍历数据框中的行并根据其他列更改列的值

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

根据其他列的行值填充新的pandas数据框列

根据其他数据框中的索引列表从其他数据框中向数据框中添加新列

熊猫数据框根据其他列是否有数据添加新列

如何遍历数据框中的列

根据R中其他两个列的比较生成新的列值

根据其他列中的值在python 3(pandas)数据框中创建新列

根据其他列行中的过滤值,在pandas数据框中创建一个新列

根据共享索引将一列添加到其他数据框中的所有列

R遍历数据框的各列以根据开始结束年份创建新列

遍历一个数据框,该数据框根据其他列的条件和值生成输出

根据其他数据框的比较,创建带有列的Pandas数据框

在数据框的新列中按键显示所有其他外观

根据现有数据框中的其他列创建一个新列

根据其他列中给出的值在熊猫数据框上生成 n 数量的新行

如何遍历数据框中每列的行

如何根据其他两列中的值在熊猫数据框中添加新列

如何根据 julia 中的其他列值有条件地在数据框中创建新列

循环遍历数据框的所有列以绘制所有列的散点图

如何遍历数据集比较相邻的行并在新列中输出结果的关系?

根据 R 中数据框中所有其他列中的字符串值,使用 dplyr 创建一个新列