我有一个数据集,其中,当Q1 24 - Q4 24之和介于数字1 - 2.5之间时,我希望将该行中的数字2放在Q4 24下。
数据
ID type Q1 24 Q2 24 Q3 24 Q4 24
AA hi 2.0 1.2 0.5 0.6
AA hello 0.7 2.0 0.6 0.6
AA bye 0.6 0.6 0.6 0.4
AA ok 0.3 0.4 0.2 0.2
所需
ID type Q1 24 Q2 24 Q3 24 Q4 24
AA hi 2.0 1.2 0.5 0.6
AA hello 0.7 2.0 0.6 0.6
AA bye 0.0 0.0 0.0 2.0
AA ok 0.0 0.0 0.0 2.0
"正在做"
df.loc[df.iloc[:,2:].sum(axis=1)>1<2.5, ['Q1 24','Q2 24','Q3 24','Q4 24']]= 2
一个SO成员帮助完成了上面的脚本,但是我怎么能只针对Q4 24下的那一行呢?我想我可以再次使用iloc来完成这个任务。任何建议都是非常感谢的。
3条答案
按热度按时间z31licg01#
这将执行您在将其他列归零后执行的操作:
vx6bjr1n2#
作为替代方案:
2wnc66cl3#
你在布尔索引的道路上是正确的。
我会用途:
输出量:
将2添加到最后一列并将所有其他列设置为0
输出量: