我尝试使用np.where
来过滤列速度以及满足条件的位置,在列'C'
中指定一个值。出于某种原因,我将所有内容都归为真。这个人似乎工作得很好SO question所以我有点难过。任何帮助将不胜感激。
df["C"] = np.where(df.speed > 3, 'true','false')
speed C
0 3.34 true
1 0.02 true
2 0.01 true
3 8.41 true
4 0.03 true
答案 0 :(得分:1)
你的速度变量不是整数,所以这个测试失败了。它们可能是物体。如果使用整数正确初始化数据帧,则可以按预期工作。
例如,如果我将速度列的所有数据类型都转换为字符串,我可以获得此处的输出。
答案 1 :(得分:0)
对于遇到此问题的任何人,上面一位明智的评论者建议我查看数据框是如何创建的,所以我查看了dtypes并找到了
id int64
speed object
C object
此代码修复了问题:
df['speed'] = df['speed'].astype(float)