python将第一列替换_python-通过将另一列与第二个DataFrame进行比较来替换一列中的值...
我正在尝试使用涉及搜索另一个DataFrame的特定条件来替换df DataFrame的air_store_id列中的NaN值:
data = { 'air_store_id': [ 'air_a1', np.nan, 'air_a3', np.nan, 'air_a5' ],
'hpg_store_id': [ 'hpg_a1', 'hpg_a2', np.nan, 'hpg_a4', np.nan ],
'Test': [ 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon' ]
}
df = pd.DataFrame(data)
display(df)
当在df.air_store_id中找到NaN时,我想使用df.hpg_store_id中的值(如果有)将其与另一个名为id_table_df的 dataframe 的同一列进行比较,并检索其air_store_id.
这是id_table_df的样子:
ids_data = { 'air_store_id': [ 'air_a1', 'air_a4', 'air_a3', 'air_a2' ],
'hpg_store_id': [ 'hpg_a1', 'hpg_a4', 'hpg_a3', 'hpg_a2' ] }
id_table_df = pd.DataFrame(ids_data)
display(id_table_df)
简而言之,对于df.air_store_id中的每个NaN,通过将df.hpg_store_id与id_table_df.hpg_store_id进行比较,将其替换为id_table_df.air_store_id中的相应等价物.
在这种情况下,id_table_df最终用作查找表.产生的DataFrame如下所示:
我使用以下指令进行了tried to merge them的操作,但引发了错误:
df.loc[df.air_store_id.isnull(), 'air_store_id'] = df.merge(id_table_df, on='hpg_store_id', how='left')['air_store_id']
错误信息:
KeyError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
2441 try:
-> 2442 return self._engine.get_loc(key)
2443 except KeyError:
...
...
...
KeyError: 'air_store_id'
问题1:我该如何完成?
问题2:是否有办法同时对这两列(air_store_id和hpg_store_id)执行此操作?如果可能的话,我不必为每个列分别运行合并.
python将第一列替换_python-通过将另一列与第二个DataFrame进行比较来替换一列中的值...相关推荐
- python程序设计第一章答案_Python《学习手册:第一章-习题》
人们选择Python的六大主要原因是什么? 软件质量:Python注重可读性.一致性和软件质量.Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性. Python的 ...
- python程序设计第一章答案_Python语言程序程序设计-第一章习题解答
作为一名非计算机专业毕业的学生,一直想学Python用来解决工作中遇到的问题,但是对计算机一直摸不到好的门路,于是买到了Python语言程序程序设计这本书,用做习题的形式,积累自己的学习成果,相信不怕 ...
- python爬虫怎么爬小说_Python 新手] 爬虫练习:爬取起点中文网的小说排行并存入 excel 表格中...
使用的 python 库 1.request 库,用于向服务器发起请求信息. 2.lxml 库,用于解析服务器返回的 HTML 文件. 3.time 库,设置爬取时间差,防止短时间内多次页面请求而被限 ...
- python字符加密2编程_python的字符串操作和*加密解密
一.字符串操作 1.字符串大量的系统提供的操作函数 image.png 2.字符串的编码解码处理 将计算机中的字符串按照一定的顺序表示成二进制数据的过程 python3中:字符(str):字节(byt ...
- python处理数据快吗_python (七、Numpy高效数据处理)
Numpy的主要作用是进行矩阵运算 在使用时首先要导入包 import numpy as np np.version.version 用来查看版本信息 # 构建一维数组 n1=np.array([1, ...
- Python数据分析第一课:Pandas初入门
数据分析如下所示共6步,而使用Python可以帮助我们完成前5步. 一. Pandas简介 Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库 ...
- 【进阶Python】第一讲:开篇
前言 2015年,本科毕业的那个暑假我开始疯狂的投递简历,希望找一份数据分析与数据挖掘相关的实习工作.直到有一家公司的面试官问到我:"你会Python吗?",我当时一脸疑惑,因为, ...
- python字符串变量替换_python字符串替换第一个字符串的方法
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...
- python 字符串替换_python字符串替换第一个字符串的方法
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...
最新文章
- Android事件机制:事件传递和消费
- 明明白白学C#0.1.2 什么是编程语言
- Boost:易变的bimap双图的测试程序
- TFS 表字典(部分)
- [UE4]更新UI的三种方式
- 阿里巴巴飞天大数据架构体系与Hadoop生态系统
- 炫界 (978) -(建工发现应用克隆漏)_除了DMA,这些漏损点检测与漏损区域识别技术你知道么?...
- g++ linux 编译开栈_使用g++编译器扩大程序可用栈空间
- mongodb备份和恢复:mongodump/mongorestore ( 二)
- Android NDK开发之 NEON 矩阵转置,矩阵乘法实现
- js学习(六)- js对象创建
- 自动生成getter,setter方法的插件lombok
- Android各控件绚丽Dome下载
- html文件类型怎么改,更改文件类型,教您文件类型如何更改
- 开发者头条(一):导航页
- 云研发 IDE Uncode:演示版发布(欢迎加入开发)
- 罗振宇4小时跨年演讲精华版:大环境里的7个行动策略
- uni-app 161朋友圈查看权限
- IOS H5页面滑动过于频繁出现短暂白屏
- 带宽的定义标准是什么