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

邵东网站家庭装修报价明细预算表

邵东网站,家庭装修报价明细预算表,重庆大型网络公司,企业vi案例大家好,Pandas 2.1于2023年8月30日发布,跟随本文一起看看这个版本引入了哪些新内容,以及它如何帮助用户改进Pandas的工作负载,包含了一系列改进和一组新的弃用功能。 Pandas 2.1在Pandas 2.0中引入的PyArrow集成基础上进行了大量…

大家好,Pandas 2.1于2023年8月30日发布,跟随本文一起看看这个版本引入了哪些新内容,以及它如何帮助用户改进Pandas的工作负载,包含了一系列改进和一组新的弃用功能。

Pandas 2.1在Pandas 2.0中引入的PyArrow集成基础上进行了大量改进。本文主要关注了对新功能的支持,这些新功能有望在Pandas 3.0中成为默认功能,下面将详细介绍最重要的改进。

避免在字符串列中使用NumPy对象类型

pandas中的一个主要问题是低效的字符串表示,Pandas团队花了相当长的时间研究了这个问题。第一个基于PyArrow的字符串dtypepandas 1.3中可用,它有潜力将内存使用量减少约70%并提高性能。

Pandas团队决定引入一个新的配置选项,将所有字符串列存储在PyArrow数组中,不再需要担心转换字符串列,它会自动工作。

可以通过以下方式打开此选项:

pd.options.future.infer_string = True

这个行为将在pandas 3.0中成为默认行为,这意味着字符串列将始终由PyArrow支持,必须安装PyArrow才能使用此选项。

PyArrow与NumPy对象dtype有不同的行为,可能会让人难以详细理解。Pandas实现了用于此选项的字符串dtype,以与NumPy的语义兼容。它的行为与NumPy对象列完全相同。

改进的PyArrow支持

设计者在pandas 2.0中引入了基于PyArrow的DataFrame,其过去几个月的主要目标之一是改进pandas内部的集成。他们的目标是尽可能简化从基于NumPy的DataFrame切换的过程,着重解决了修复性能瓶颈的问题,因为这些问题曾经导致意料之外的减速。

接下来查看一个示例:

import pandas as pd
import numpy as npdf = pd.DataFrame({"foo": np.random.randint(1, 10, (1_000_000, )),"bar": np.random.randint(1, 100, (1_000_000,)),}, dtype="int64[pyarrow]"
)
grouped = df.groupby("foo")

本文的DataFrame有100万行和10个组,现在来比较一下pandas 2.0.3pandas 2.1的性能:

# pandas 2.0.3
10.6 ms ± 72.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# pandas 2.1.0
1.91 ms ± 3.16 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

这个特定的例子在新版本上快了5倍,merge是另一个常用的函数,现在速度会更快。

写入时复制(Copy-on-Write)

写入时复制(Copy-on-Write)最初在pandas 1.5.0中引入,并预计将成为pandas 3.0的默认行为,写入时复制已经在pandas 2.0.x上提供了良好的体验。Pandas团队主要专注于修复已知的错误并提高其运行速度,建议在生产环境中使用此模式,现在已经可以看到写入时复制可以将实际的工作流程性能提高50%以上。

弃用setitem类操作中的静默类型转换

一直以来,如果将不兼容的值设置到pandas的列中,pandas会默默地更改该列的数据类型。接下来查看一个示例:

ser = pd.Series([1, 2, 3])0    1
1    2
2    3
dtype: int64

本示例有一个包含整数的系列,结果将是整数数据类型。现在将字母"a"设置到第二行中:

ser.iloc[1] = "a"0    1
1    a
2    3
dtype: object

这会将Series的数据类型更改为objectObject是唯一可以容纳整数和字符串的数据类型,这对许多用户来说是一个很大的问题。Object列会占用大量内存,导致计算无法正常进行、性能下降等许多问题。为了解决这些问题,它还在内部还添加了很多特殊处理,在过去,DataFrame中的静默数据类型更改带来了很大的困扰。现在这种行为已被弃用,并将引发FutureWarning

FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future 
error of pandas. Value 'a' has dtype incompatible with int64, please explicitly cast to a 
compatible dtype first.ser.iloc[1] = "a"

类似本文示例的操作将在pandas 3.0中引发错误,DataFrame的数据类型在不同操作之间将保持一致。当想要更改数据类型时,则必须明确指定,这会增加一些代码量,但对于后续开发人员来说更容易理解。这个变化会影响所有的数据类型,例如将浮点值设置到整数列中也会引发异常。

升级到新版本

可以使用以下命令安装新的pandas版本:

pip install -U pandas

或者:

mamba install -c conda-forge pandas=2.1

这将在用户的环境中安装新版本。

http://www.yayakq.cn/news/350976/

相关文章:

  • 制作手机网站哪家好哈尔滨哪里做网站好
  • 天津做网站的费用简单描述网站建设流程
  • 网站厨师短期培训班网站建设渠道代理任务书
  • wordpress资源下载站深圳龙华区偏僻吗
  • ps做图游戏下载网站防盗网站人做清洁
  • wordpress 图片剪裁网站搜索 收录优化
  • 郑州网站建设代运营未来网络营销的发展趋势
  • 网站建设 备案什么意思兰州手机网站建设
  • 网站开发怎么兼容pc和移动端网站建设的展望 视频
  • 网站建设服务器技术有哪些杭州网站建设 博采网络有限公司
  • 网站推广软文范例做电影网站需要哪些条件
  • 网站开发后端常德论坛网站
  • 云阳有没有做网站的vr哪家公司做得好
  • photoshop制作网站做传感器交易的网站
  • 网站开发所需费用优化大师优化项目有哪些
  • 网站建设的杂志1免费做网站
  • 做包装找灵感看什么网站网站建设的话术
  • 门户网站制作企业网站报价模板
  • 网站后期推广方案wordpress 新建首页
  • 长春做网站网站设计文档
  • 海淀网站设计公司哪个网站可以做担保交易
  • 公司网站是怎么制作和维护的外贸建网站
  • iis建立好网站 怎么打开永嘉专业网站建设团队
  • 网站建设基本流程图旅游o2o小程序源码
  • 深圳网站建设公司推荐如何选择网站开发
  • 北京制作网站的公司简介网上做平面设计的网站
  • 免费网站空间申请教程网站建设结构设计方案
  • 普陀区建设局网站wordpress多功能模板
  • 1g内存的服务器可以建设几个网站seo网站优化培训公司
  • vue做响应式网站wordpress随机推荐