当前位置: 首页 > news >正文

2022-09-02

1.今天做需求的时候遇到这样一个警告,

SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

原因是我做了这样的操作,我先是用.loc从一个大的dataframe上筛选了一部分列赋值到一个新的变量里,然后我再给这个新的变量添加一个列时触发了这个警告,查了一下,这个警告的根本原因是,我的这个新变量可能是原来那个大的dataframe的一个副本,也有可能是一个view也就是视图,如果是视图,那我新的变量发生改变,原始数据也会改变,这样在某些情况可能出现问题,但是我这个新变量是副本还是视图,取决于具体是什么情况,所以这块它报了个警告,意思是可能会出问题,因为它不知道是视图还是副本,当然我们自己知道我们是怎么用的,为了不显示警告,可以显式告诉pandas,我这个是副本,这样就不会出问题了。代码如下

import numpy as np
import pandas as pd
a = df.loc[:,'a'].copy()
a['b'] = np.arange(10)

2. 在窗口类里创建线程处理耗时任务时一定要用成员变量,不然,线程就会直接被销毁,之前一直用的成员变量,今天突然用了个局部变量,直接报错了,排查了半天。

3.pyqt5中,比如我创建了个按钮,如果我写了两次button.clicked.connect(xxx),那么,当你点击按钮的时候,槽函数就会执行两次,今天因为加了其它按钮,就直接复制之前写的代码,多写了一个连接的代码,没想到程序一下子不按计划执行了,排查了半天,后续应该注意了。

4.pandas的cumsum函数,这个函数表示累加,什么是累加,和直接求个和有什么区别,我看了半天,简单来说就是,求和的结果是一个值,累加和是多个值,什么意思,比如说,我有三个数,1,2,3,求和就是1+2+3=6,最后返回一个结果6,但是cumsum返回1,3,6,就是说,它是把一个数的和,两个数的和,三个数的和全部记下来,最后得到的是一个series,这就是sum和cumsum的区别。摘段代码

import pandas as pd
import numpy as np

s = pd.Series([2, np.nan, 5, -1, 0])
print(s)

print(s.cumsum())

 

 这个方法适合单个数据只反映数据变化而不是数据值的情况,比如,正值表示增加,负值表示减少,它不代表最后的值是多少,这时用cumsum就能算出最终的结果的趋势,大概这么个意思。

5.python list.pop(index),index默认是-1,也就是从最后一个元素开始pop,但是也可以自己指定,这个一般是当栈或队列使用,一般情况,我们不会删除列表元素,多数是遍历,取值等。

相关文章:

  • 14天刷爆LeetCode算法学习计划——Day05 快慢指针(2)
  • Redis进阶
  • 双软认定流程?
  • 淘宝如何选词打造黄金标题?构词规则是什么?
  • 跨境运营培训品牌商店设计技巧
  • 双软企业认证与税收优惠政策讲解(比较齐全)
  • Java处理Excel表格的读取和写入
  • MySQL之临时表
  • 氨丙基咪唑离子液体(AMIBr)改性纤维素气凝胶吸附剂(CAgAMIBr)的实验要求
  • Go 命名规范
  • 容灾演练月报 | 雅安市商业银行四大业务系统完成容灾切换演练
  • STM32CubeIDE实现printf重定向输出到串口
  • 解决:知乎中导入的md格式文档,公式不能居中,即使加了\\后也不能居中
  • js小数点后面不足4位数补0
  • ES6模块化开发问题大全
  • 【5+】跨webview多页面 触发事件(二)
  • bearychat的java client
  • Date型的使用
  • interface和setter,getter
  • IP路由与转发
  • Java 内存分配及垃圾回收机制初探
  • JavaScript DOM 10 - 滚动
  • Java新版本的开发已正式进入轨道,版本号18.3
  • k8s 面向应用开发者的基础命令
  • Nacos系列:Nacos的Java SDK使用
  • Nodejs和JavaWeb协助开发
  • 读懂package.json -- 依赖管理
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 实战|智能家居行业移动应用性能分析
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用SAX解析XML
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 网络应用优化——时延与带宽
  • 我的zsh配置, 2019最新方案
  • 小程序 setData 学问多
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 2017年360最后一道编程题
  • const的用法,特别是用在函数前面与后面的区别
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • "无招胜有招"nbsp;史上最全的互…
  • # Panda3d 碰撞检测系统介绍
  • #Linux(权限管理)
  • #QT(智能家居界面-界面切换)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (a /b)*c的值
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四)模仿学习-完成后台管理页面查询
  • (算法)N皇后问题
  • (转) Face-Resources
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据