根据另一列的条件创建熊猫列

土星

这个表达

df["column"].diff() != 0

给我熊猫系列的布尔值。我现在想的列df["result"]那里的价值100在每一个真正的价值df["column"],并0为每个虚假。

我不明白为什么这行不通:

df["result"] = 100 if df["column"].diff() != 0 else 0

我知道我必须使用loc,但是从这里开始:

df.loc[df["column"].diff() != 0]

然后如何设置结果列?

耶斯列尔

这是numpy.where按条件设置2值的最佳用途,解决方案是矢量化的:

df["result"] = np.where(df["column"].diff() != 0, 100, 0)

您的代码:

df["result"] = 100 if df["column"].diff() != 0 else 0

不起作用,因为这里使用的是一维数组(系列),所以不能使用标量解。

您还会得到:

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

这意味着没有明确的含义,从的布尔数组的标量输出是什么df["column"].diff() != 0

有关更多信息,请参见对熊猫使用if / truth语句

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据条件在熊猫中创建另一列?

熊猫根据选择为条件的另一列中的值创建一列

熊猫,根据条件在另一列中搜索结果

根据另一列中的条件填充熊猫

熊猫根据另一列的条件重置 cumsum()

根据条件填充另一列(熊猫)的空值

根据条件在熊猫数据框中创建一列

根据另一列R的条件创建函数

熊猫根据条件将一列映射到另一列

根据一列的字符和另一列的条件创建新列

如果满足条件,大熊猫会创建一列等于另一列

根据另一列的条件加入

根据另一列的计算创建一列

根据另一列的顺序创建一列

如果条件满足熊猫,则根据另一列的升序向列添加字符

熊猫分组多个列根据条件取另一列的平均值

如何根据熊猫另一列中的条件生成具有值的新列

熊猫:根据另一列中的条件更改该列的先前单元格值

如何根据另一列中满足的条件在熊猫数据框中添加新列?

根据另一列的值在熊猫中创建新列

如何根据另一列的值在熊猫中创建列

熊猫根据另一列中的序列重复创建类别列

熊猫根据另一列选定的值创建新列

根据另一列熊猫的300条相邻行中的值创建新列

根据熊猫中另一列的值创建新列

跟进-根据熊猫中另一列的值创建新列

根据条件在熊猫数据框中将一列的值提供给另一列

根据条件(使用熊猫)将值从一列复制到另一列

熊猫:创建新列,条件是对一列的子字符串搜索和另一列的逆搜索