熊猫是否具有多个条件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了熊猫是否具有多个条件?相关的知识,希望对你有一定的参考价值。

如果我想在多个条件下应用lambda,该怎么办?

df.train.age.apply(lambda x:0 (if x>=0 and x<500))

或者还有更好的方法吗?

答案

您的语法需要其他:

df.train.age.apply(lambda x:0 if x>=0 and x<500 else 0) 

这是一种很好的方法

另一答案

不使用apply,但如下使用np.where也可以得到相同的结果。

import numpy as np
import pandas as pd
df = pd.DataFrame({
    'age' : [-10,10,20,30,40,100,110]
})
df['age'] = np.where((df['age'] >= 100) | (df['age'] < 0), 0, df['age'])
df

如果您对使用以上代码有任何疑问,请发布示例数据框。我将更新我的答案。

另一答案

创建一个蒙版并使用蒙版从数组中选择……仅应用于结果

mask = (df.train.age >=0) & (df.train.age < 500)
df.train.age[mask].apply(something)

如果您只需要将不匹配项设置为零,那就更容易了

df.train.age[~mask] = 0

以上是关于熊猫是否具有多个条件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将具有多个标题行的csv文件读入熊猫? [关闭]

具有多个 backstack 的片段

如何使用熊猫将多行组合成具有多条件的行[关闭]

熊猫:按多个条件过滤组?

熊猫一次替换多个列的内容以适应多个条件

在熊猫中按多个条件分组[重复]