python - 如果其他列值不符合条件,熊猫会更改列值
问题描述
我有以下数据框。我想检查“mental_illness”、“feeling”和“flavor”列的每一行的值。如果每行这三列的所有值都小于 0.5,我想将“未分类”列的相应值更改为 1.0。
sent_no pos unclassified mental_illness feeling flavor
0 0 word_1 0.0 0.75 0.30 0.28
1 1 word_2 0.0 0.17 0.72 0.16
2 2 word_3 0.0 0.19 0.38 0.16
3 3 word_4 0.0 0.39 0.20 0.14
4 4 word_5 0.0 0.72 0.30 0.14
预期结果:
sent_no pos unclassified mental_illness feeling flavor
0 0 word_1 0.0 0.75 0.30 0.28
1 1 word_2 0.0 0.17 0.72 0.16
2 2 word_3 1.0 0.19 0.38 0.16
3 3 word_4 1.0 0.39 0.20 0.14
4 4 word_5 0.0 0.72 0.30 0.14
我该怎么做呢?
解决方案
这行得通吗?
mask1 = df["mental_illness"] < 0.5
mask2 = df["feeling"] < 0.5
mask3 = df["flavor"] < 0.5
df.loc[mask1 & mask2 & mask3, 'unclassified'] = 1
推荐阅读
- c++ - 我在这堂课上做错了什么?
- python - 用于打印树结构的 Python 递归函数在 for 循环中重置变量
- docker - ElasticSearch Docker Swarm 集群问题:“master_not_discovered_exception”
- ngx-charts - 有没有办法在圆环图中将标签居中?
- c# - 使用 C# 中列表中的数据填充 Excel 一维数组
- ssl - 是否可以在没有 ssl 的情况下在 NGINX 端口 443 上运行 HTTP/2?
- android - 如何在颤振应用中播放声音时分别控制左右音量(想象戴着耳机)?
- unity3d - 在新的 Unity 输入系统中如何映射到 KeyCode.JoystickButton0?
- python - 将opencv的站点包路径添加到全局站点包python
- javascript - SetTimeout 功能:发送到客户端后无法设置标头