繁体   English   中英

如何根据另一列的条件替换一列的NaN值?

[英]How to replace NaN values from a column based on a condition from another column?

我想根据另一列的条件替换一列中的np.nan值。 而且,我想用一个字符串替换np.nan值:

我已经尝试过使用np.where,但是出现错误“语法无效”,我真的看不到语法错误。

casualty_data["age_band_of_casualty"] = np.where(casualty_data["age_of_casualty"]>0 & casualty_data["age_of_casualty"]<=5, "0-5", continue)
                  age_of_casualty   age_band_of_casualty                    
Accident_Index                                  
2016010000005       23                    21-25     
2016010000006       38                    Nan   
2016010000008       24                    21-25 
2016010000016       58                    Nan   
2016010000018       28                    26-35

从此表中,我想获得以下输出:

                  age_of_casualty   age_band_of_casualty                    
Accident_Index                                  
2016010000005       23                    21-25     
2016010000006       38                    36-45     
2016010000008       24                    21-25 
2016010000016       58                    56-65 
2016010000018       28                    26-35

提前致谢!

关于什么

casualty = casualty_data['age_of_casualty']
replacing_values = (casualty-2).map(str) + '-' + (casualty+2).map(str)
casualty_data["age_band_of_casualty"].fillna(replacing_values)

我本来会添加一条评论,但是由于缺乏声誉,所以必须在这里写下。 尝试在表达式中添加括号:

casualty_data["age_band_of_casualty"] = np.where((casualty_data["age_of_casualty"]>0) & (casualty_data["age_of_casualty"]<=5), "0-5", continue)

应该会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM