python - 用下面单元格中的数据替换熊猫单元格“无”
问题描述
我会保持简短,因为我确信有一个简单的解决方案。
我有两个熊猫系列:
s1 = [['name', 'date', 'issue', 'None', height', 'None', 'age']]
s2 = [['eg.john','european format', 'eg. no power', 'first occurence?', 'eg. 1.2m', 'change?', 'eg. 32 years']]
s1 中有两个np.Nans
我想用下面单元格中的值替换。
例如,s1 中的索引 3 为“无”,我想将其替换为 s2 中索引 3 处的值,即“第一次出现”。
我想得到
s1 = [['name', 'date', 'issue', 'first occurence', 'height', 'change?', 'age']]
我试图用各种 for 和 if 语句来做到这一点无济于事,任何帮助将不胜感激。
解决方案
您有 2 个列表而不是 2 个pd.Series
数据类型。给定数据:
s1 = ['name', 'date', 'issue', 'None', 'height', 'None', 'age']
s2 = ['eg.john','european format', 'eg. no power', 'first occurence?', 'eg. 1.2m', 'change?', 'eg. 32 years']
简单的解决方案是使用列表理解:
[e1 if e1!='None' else e2 for e1, e2 in zip(s1, s2)]
结果:
['name', 'date', 'issue', 'first occurence?', 'height', 'change?', 'age']
请注意,您的数据中的“无”不是np.nan
字符串。但是,如果 data 包含 None 类型,则所有计算都更加简单:
s1 = ['name', 'date', 'issue', None, 'height', None, 'age']
[e1 if e1 else e2 for e1, e2 in zip(s1, s2)]
推荐阅读
- http-proxy - 如何在 Vite 中配置代理?
- sql - 如何将常用格式的sql转换成mybatis支持的sql
- kubernetes - 我们如何通过使用命令式命令创建的声明方式更新 kubernetes 部署
- java - HQL/JPQ 对 where 部分使用 fetch
- mysql - mysqld随着时间的推移保留越来越多的内存(禁用查询缓存)
- css - 仅当条件为真时使用样式化组件并做出反应,如何添加css属性?
- yocto - 无法在 SDK 中链接文件系统库
- ios - 如何在 Swift 中检查 CoreData 的大小
- function - 在 react native 中显示函数的值
- javascript - 如何将子查询添加到带有轴的查询结果中