pandas28 update-用另一个DataFrame中的非NA值进行就地修改(补全全部实例 tcy)

2024-03-20 09:38

本文主要是介绍pandas28 update-用另一个DataFrame中的非NA值进行就地修改(补全全部实例 tcy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

============================================================
1.函数df.update(other, join='left', overwrite=True, filter_func=None, raise_conflict=False)用途:# 用另一个DataFrame中的非NA值进行就地修改参数:# other:DataFrame,至少有一个匹配的索引/列标签;Series必设name属性# join:{'left'}仅实现左连接,保留原始对象的索引和列# overwrite =True:处理重叠键(行索引)非NA值:#     * True:覆盖原始df值#     * False:仅更新原始df中na的值# filter_func:callable(1d-array) - > boolean 1d-array#     可替换NA以外值。返回True表示值应该更新。函数参数作用于df# raise_conflict=False:为True,则会在df和other同一位置都是非na值时引发ValueError
============================================================
# 实例1.1:
df = pd.DataFrame({'A': [11, 12, 13],'B': [14, 15, 16]})
new_df = pd.DataFrame({'B': [21, 22,23],'C': [24, 25, 26]})
df.update(new_df)
dfA   B
0  11  21
1  12  22
2  13  23# 实例1.2:df长度不会增加,仅更新匹配的索引/列标签处的值。
df = pd.DataFrame({'A': ['a1', 'a2', 'a3'], 'B': ['b1', 'b2', 'b3']})
new_df = pd.DataFrame({'B': ['c1', 'c2', 'c3', 'c4', 'c5']})
df.update(new_df)
dfA   B
0  a1  c1
1  a2  c2
2  a3  c3# 实例1.3:
df = pd.DataFrame({'A': [11, 12, 13],'B': [14, 15, 16]})
new_df = pd.DataFrame({'B': ['c1', 'c2', 'c3', 'c4', 'c5']})
df.update(new_df)
dfA   B
0  11  c1
1  12  c2
2  13  c3
============================================================
# 实例2.1:对于Series,必须设置其name属性。
df = pd.DataFrame({'A': ['a1', 'a2', 'a3'], 'B': ['b1', 'b2', 'b3']})
new_column = pd.Series(['c1', 'c3'], name='B', index=[0, 2])
df.update(new_column)
dfA   B
0  a1  c1
1  a2  b2
2  a3  c3# 实例2.2:
df = pd.DataFrame({'A': ['a1', 'a2', 'a3'], 'B': ['b1', 'b2', 'b3']})
new_column = pd.Series(['c2', 'c3'], name='B', index=[1, 2])
df.update(new_column)
dfA   B
0  a1  b1
1  a2  c2
2  a3  c3
============================================================
# 实例3:如果other包含NaN,则不会更新df的值
df = pd.DataFrame({'A': [11, 12, 13],'B': [14, 15, 16]})
new_df = pd.DataFrame({'B': [24, np.nan, 26]})
df.update(new_df)
dfA     B
0  11  24.0
1  12  15.0
2  13  26.0
============================================================
# 实例4:过滤函数df>=15的值被替代
df = pd.DataFrame({'A': [11, 12, 13],'B': [14, 15, 16]})
new_df = pd.DataFrame({'B': [21, 22,23],'C': [24, 25, 26]})
df.update(new_df,filter_func=lambda  s:s>=15)
dfA   B
0  11  14
1  12  22
2  13  23
============================================================
# 实例5.1:overwrite重复行索引
df = pd.DataFrame({'A': [11, 12, 13],'B': [14, np.nan, 16]},index=[0,1,1])
new_df = pd.DataFrame({'B': [21, 22,23],'C': [24, 25, 26]})
df.update(new_df)
dfA     B
0  11  21.0
1  12  22.0
1  13  22.0# 实例5.2:df = pd.DataFrame({'A': [11, 12, 13],'B': [14, np.nan, 16]},index=[0,1,1])
new_df = pd.DataFrame({'B': [21, 22,23],'C': [24, 25, 26]})
df.update(new_df,overwrite=True)
dfA     B
0  11  21.0
1  12  22.0
1  13  22.0
============================================================
# 实例6.1:
df = pd.DataFrame({'A': [11, 12],'B': [np.nan, np.nan]})
new_df = pd.DataFrame({'B': [21, 22],'C': [24, 25]})
df.update(new_df,raise_conflict=True)
dfA     B
0  11  21.0
1  12  22.0# 实例6.2:df = pd.DataFrame({'A': [11, 12],'B': [13, np.nan]})
new_df = pd.DataFrame({'B': [21, 22],'C': [24, 25]})
df.update(new_df,raise_conflict=True)#ValueError;df和other同一位置都是非na值时引发ValueError

 

这篇关于pandas28 update-用另一个DataFrame中的非NA值进行就地修改(补全全部实例 tcy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829050

相关文章

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存