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

相关文章

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估