python函数参数传递切片_将DataFrame切片作为参数传递给函数而不使用“SettingWithCopyWarning”...
我有一个函数,它以dataframe作为参数,在处理这个dataframe时,它调用另一个函数,将同一个dataframe的一个片段作为参数传递给辅助函数。在
所有更改都在适当的位置完成,因此不会返回任何内容(因为数据帧的大小)。在
但是,这个辅助函数引发SettingWithCopyWarning,因为它不再处理原始数据帧。在
下面是一个例子:import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(9).reshape(3,3), columns=list('abc'))
print df
def a(df):
if df.is_copy:
print 'a got a copy'
df['a'] = 'a'
def b(df):
if df.is_copy:
print 'b got a copy'
print df.is_copy
df.loc[:,'b'] = 'b'
def c(df):
a(df)
b(df.loc[0:1,:])
if df.is_copy:
print 'c got a copy'
df.loc[0:1,'c'] = 'c'
def d(df):
new_df = df.loc[0:1].copy(deep=True)
b(new_df)
df.update(new_df)
del new_df
c(df)
df
结果:
^{pr2}$
我知道其中一个选项是从原始片段创建一个新的数据帧,并将其传递给b,然后df.update(new_df)和{}表明它是有效的:d(df)
df
产生所需的输出:a b c
0 a b c
1 a b c
2 a 7 8
但是有没有一种方法可以在不创建新的数据帧和引发SettingWithCopyWarning的情况下处理这个问题呢。在
另一个复杂的情况是,从c内部调用b有时可能只是简单的b(df),所以切片是可选的。在
谢谢。在
python函数参数传递切片_将DataFrame切片作为参数传递给函数而不使用“SettingWithCopyWarning”...相关推荐
- goland创建一个不限长度的字节切片_关于Go切片,看这篇就够了
01.切片的内部实现和基础功能 切片是围绕着动态数组的概念来构建的,它跟数组类似,是用于管理数据集合的一种数据结构. 数组一旦创建就不能更改其长度和类型,而切片就不同,切片可以按需自动增长和缩小,增长 ...
- python可变类型与不可变类型作为函数参数区别_不要用可变类型对象做函数默认参数...
不要用可变类型对象做函数默认参数 1. 可变对象做默认参数 内置数据类型int,float,bool,str,tuple 是不可变对象, 字典,集合,列表是可变对象. 在定义python函数时,千万不 ...
- sql自定义函数学习思路_学习SQL:用户定义的函数
sql自定义函数学习思路 You can create several user-defined objects in a database. One of these is definitely u ...
- 二元函数matlab画图_噶米matlab实验五二元函数的图形.docx
实验五二元函数的图形 [实验目的] 1.了解二元函数图形的绘制. 2.了解空间曲面等高线的绘制. 3.了解多元函数插值的方法. 4.学习.掌握 MATLAB 软件有关的命令. [实验内容] 画出函数 ...
- java mp4 切片_视频完美切片存储方案 附自动化处理脚本
视频完美切片存储方案 附自动化处理脚本 2020-02-11 阅读:11534 禁止灌水,灌水者一律拉黑, 官方QQ群:464327881各种源码多多 自己懒得写教程了,直接在别人博客那个教程来放出来 ...
- python不同文件函数调用_不同输入文件的多处理调用函数
当进行多处理时,每个子进程都会获得主模块中在if __name__ == '__main__':语句之前定义的所有全局变量的副本.{{cdm>中访问的每个进程都将是不同的.在 一种解决方法是使用 ...
- 用python画风景图_数据分析与展示---Matplotlib基本绘图函数
一:基本绘图函数(这里介绍16个,还有许多其他的) 二:pyplot饼图plt.pie的绘制 三:pyplot直方图plt.hist的绘制 (一)修改第二个参数bins:代表直方图的个数,均分为多段, ...
- python求某个函数的反函数_如何用sympy求快速sigmoid函数的逆函数?
这似乎是SymPy 1.4版中的一个bug.在master上,我没有得到例外,而是得到:In [2]: solve(lower + (upper - lower) * (0.5 + 0.5 * x / ...
- pythonpandas函数详解_对pandas中Series的map函数详解
Series的map方法可以接受一个函数或含有映射关系的字典型对象. 使用map是一种实现元素级转换以及其他数据清理工作的便捷方式. (DataFrame中对应的是applymap()函数,当然Dat ...
- perm函数c语言_理解C语言(三) 字符串处理函数
1 字符串基础 字符串是一种重要的数据类型,有零个或多个字符组成的有限串行. 定义子串: 串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串也是其自身的子串,如字符串"ade ...
最新文章
- AMD–7nm “Rome”芯片SOC体系结构,支持64核
- js中小数取整数(向上、向下取整数,四舍五入取整数的实现)
- 一位被信息时代遗忘的隐秘天才,一个为人类而战的传奇故事
- supermap试用许可过期如何重新申请
- mybatis中的mapper代理模式的数据传参的应用
- linux服务器如何备份成镜像,Linux下rsync 数据镜像备份
- 树莓派如何接硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
- 【小小小白进行手机进行刷机测试 Ubuntu系统下安装adb工具、fastboot工具】
- 机器学习的四种学习方法
- 华为OS操作系统,最早今秋面世!
- 2021东南亚跨境电商平台之马来西亚热门电商平台排名TOP10
- 运维python要掌握到什么程度_运是什么意思 运字五行属什么
- android中的尺寸单位是什么,Android中各种长度尺寸单位(dp,dip,px,sp,pt)的区别
- css3 实现图片闪过一道光效果 亲测可用
- 拼多多API接口大全
- linux tar.7z如何解压,Linux下解压:tar、rar、7z命令简单易懂的教程
- 记一次app爬虫sign破解
- 就业与保障杂志就业与保障杂志社就业与保障编辑部2022年第3期目录
- web前端期末大作业 html+css+javascript火影忍者网页设计实例 动漫网站制作
- Linux命令--top