Pandas太慢?快使用Vaex DataFrame,每秒数亿数据算起来 ⛵

❤️Python【Vaex】保姆式教程❤️ 一、Vaex介绍 Vaex是一种更快、更安全、总体上更方便的方法,可以使用几乎任意大小的数据进行数据研究分析,只要它能够适用于笔记本电脑、台式机或服务器的硬盘驱动器。 Vaex是一个开源的DataFrame库,它可以对表格数据集进行可视化、探索、分析,甚至机器学习,这些数据集和你的硬盘驱动器一样大。它可以在一个n维网格上每秒计算超过10亿(10^9)个对象的平均值、和、计数、标准差等统计信息。可视化使用直方图、使用直方图、密度图和3D立体渲染进行可视化。为此,Vaex采用了内存映射、高效的外核算法和延迟计 阅读详情

💦 作者:韩信子@ShowMeAI
📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40
📘 本文地址:https://www.showmeai.tech/article-detail/393
📢 声明:版权所有,转载请联系平台与作者并注明出处
📢 收藏ShowMeAI查看更多精彩内容

做 Python 数据分析和机器学习的同学都非常喜欢 pandas 这个工具库,它操作简单功能强大,可以很方便完成数据处理、数据分析、数据变换等过程,优雅且便捷。

📘 Python数据分析实战教程

但是,pandas对于大型的数据处理却并不是很高效,在读取大文件时甚至会消耗大量时间。那么对于大型数据集,是否有一个工具,既可以像 pandas 一样便捷操作 Dataframe,又有极高的效率,同时也没有 spark 那样复杂的用法和硬件环境要求呢?有!大家可以试试 📘Vaex。

📘Vaex 是一个非常强大的 Python DataFrame 库,能够每秒处理数亿甚至数十亿行,而无需将整个数据集加载到内存中。这使得它对于超过单台机器可用 RAM 的大型数据集的探索、可视化和统计分析特别有用,而且 Vaex 还兼具便利性和易用性。

在本文中,ShowMeAI将给大家介绍这个强大的工具,让你在处理大数据分析工作时更加高效。

💡 vaex 使用详解

💦 1.巨型文件读取&处理(例如CSV)

Vaex 工具的设计初衷就包括以高效的方式处理比可用内存大得多的文件。借助于它,我们可以轻松处理任意大的数据集。Vaex 在过去的版本中支持二进制文件格式,例如 HDF5、 Arrow 和 Parquet 。从4.14.0版本以来,它也可以像使用上述格式一样轻松打开和使用巨型 CSV 文件。这在一定程度上要归功于 📘Apache Arrow项目,它提供了一个相当高效的 CSV 读取器。

注:本文使用到的数据可以在 📘数据官网 获取。

下面是读取大文件时的用法:

print('Check file size on disk:')
!du -h chicago_taxi_2013_2020.csv
print()

df = vaex.open('chicago_taxi_2013_2020.csv')

print(f'Number of rows: {df.shape[0]:,}')
print(f'Number of columns: {df.shape[1]}')

mean_tip_amount = df.tip_amount.mean(progress='widget')
print(f'Mean tip amount: {mean_tip_amount:.2f}')

df.fare_amount.viz.histogram(shape=128, figsize=(6, 4), limits=[0, 42], progress='widget');

上面的示例显示了 vaex 轻松处理巨型 CSV 文件(76 GB CSV 文件)。上述过程的详细说明如下:

① 当我们使用vaex.open()对于 CSV 文件,Vaex 将流式处理整个 CSV 文件以确定行数和列数,以及每列的数据类型。这个过程不会占用大量 RAM,但可能需要一些时间,具体取决于 CSV 的行数和列数。

可以通过schema_infer_fraction控制 Vaex 读取文件的程度。数字越小,读取速度越快,但数据类型推断可能不太准确(因为不一定扫描完所有数据)。在上面的示例中,我们使用默认参数在大约 5 秒内读取了 76 GB 的 CSV 文件,其中包含近 2 亿行和 23 列。

② 然后我们通过 vaex 计算了tip_amount列的平均值,耗时 6 秒。

③ 最后我们绘制了tip_amount列的直方图,耗时 8 秒。

也就是说,我们在 20 秒内读取了整个 76 GB CSV 文件 3 次,而无需将整个文件加载到内存中。

📢 注意,无论文件格式如何,Vaex 的 API 都是相同的。这意味着可以轻松地在 CSV、HDF5、Arrow 和 Parquet 文件之间切换,而无需更改代码。

当然,就本身性能而言,使用 CSV 文件并不是最佳选择,出于各种原因,通常应避免使用。尽管如此,大型 CSV 文件在日常工作中还是会遇到,这使得此功能对于快速检查和探索其内容以及高效转换为更合适的文件格式非常方便。

💦 2.统计:分组聚合

数据分析中最常见的操作之一就是分组聚合统计,在 Vaex 中指定聚合操作主要有两种方式:

  • ① 指定要聚合的列,以及聚合操作的方法名称。
  • ② 指定输出列的名称,然后显式实现vaex聚合统计方法。

下面我们看下如何实际操作。本文后续部分,我们将使用 📘NYC Taxi 数据集的一个子集,包含10亿+条数据记录。

df = vaex.open('yellow_taxi_2009_2015_f32.hdf5')

print(f'Number of rows: {df.shape[0]:,}')
print(f'Number of columns: {df.shape[1]}')


df.groupby(df.vendor_id, progress='widget').agg(
    {'fare_amount': 'mean',                              # Option 1
    'tip_amount_mean': vaex.agg.mean(df.tip_amount),    # Option 2
    })

上述的操作方法和 pandas Dataframe 是基本一致的。Vaex 还支持如下的第2种方式:

df.groupby(df.vendor_id, progress='widget').agg(
    {'fare_amount_norm': vaex.agg.mean(df.fare_amount) / vaex.agg.std(df.fare_amount)}
    )

明确定义聚合函数方法(上面的第2种方式)还支持进行条件选择,例如下例中,我们对全部数据,以及passenger_count为 2 和 4 的数据进行聚合统计:

df.groupby(df.vendor_id, progress='widget').agg(
    {'fare_amount_mean_all': vaex.agg.mean(df.fare_amount),
    'fare_amount_mean_pc2': vaex.agg.mean(df.fare_amount, selection=df.passenger_count == 2),
    'fare_amount_mean_pc4': vaex.agg.mean(df.fare_amount, selection=df.passenger_count == 4)}
)

💦 3.进度条

大家在之前使用 pandas 进行数据分析时,有时候我们会将中间过程构建为 pipeline 管道,它包含各种数据处理变换步骤。每次执行,如果我们只能等待数据处理完毕,那我们对全过程没有太多的把控。

Vaex非常强大,它可以指示每个步骤需要多长时间以及整个管道完成之前还剩下多少时间,在处理巨型文件时,进度条非常有用。

实际在巨型文件上操作的过程和结果是下面这样的:

with vaex.progress.tree('rich'):
    result_1 = df.groupby(df.passenger_count, agg='count')
    result_2 = df.groupby(df.vendor_id, agg=vaex.agg.sum('fare_amount'))
    result_3 = df.tip_amount.mean()

在上图示例的进度条图中,您可以看到每个步骤所花费的时间。这不仅能让我们掌握数据处理的进度和过程,也让我们知道整个流程的时间瓶颈在哪,以便更好地进行优化和处理。

💦 4.异步计算

Vaex 具备懒惰计算(lazy computation)的特效,只在必要时计算表达式。一般准则是,对于不改变原始 DataFrame 基本性质的操作,这些操作是惰性计算的。例如:

  • 从现有列中创建新列
  • 将多个列组合成一个新列
  • 进行某种分类编码
  • DataFrame 数据过滤

其他的一些操作,会进行实质性计算,例如分组操作,或计算聚合(例列的总和或平均值)。

在进行交互式数据探索或分析时,这种工作流在性能和便利性之间提供了良好的平衡。

当我们定义好数据转换过程或数据管道时,我们希望工具在计算时能进行性能优化。Vaex 支持delay=True等参数,可以并行执行计算与操作,使得 Vaex 可以提前构建计算图,并尝试找到最有效的计算结果的方式。

如下例:

with vaex.progress.tree('rich'):
    result_1 = df.groupby(df.passenger_count, agg='count', delay=True)
    result_2 = df.groupby(df.vendor_id, agg=vaex.agg.sum('fare_amount'), delay=True)
    result_3 = df.tip_amount.mean(delay=True)
    df.execute()

我们看到,通过显式使用延迟计算,我们可以提高性能并减少检查数据的次数。在这种情况下,我们在使用延迟计算时从 5 次通过数据变为仅 2 次,从而使速度提高了大约 30%。大家可以在 📘Vaex异步编程官方指南 里找到更多示例。

💦 5.结果缓存

因为效率高,Vaex经常会用作仪表板和数据应用程序的后端,尤其是那些需要处理大量数据的应用程序。

使用数据应用程序时,通常会在相同或相似的数据子集上重复执行某些操作。例如,用户将从同一个“主页”开始,选择常见或高频的选项,然后再深入研究数据。在这种情况下,缓存操作结果通常很有用。Vaex 实现了一种 📘先进的细粒度的缓存机制 ,它允许缓存单个操作的结果,以后可以重复使用。

以下示例是具体使用方法:

vaex.cache.on()

with vaex.progress.tree('rich'):
    result_1 = df.passenger_count.nunique()

with vaex.progress.tree('rich'):
    result_2 = df.groupby(df.passenger_count, agg=vaex.agg.mean('trip_distance'))

💦 6.提前停止

Vaex 有一种直接的方式来确定数据读取的规模,当我们在数据分析时使用 unique, nunique或者 groupby方法,在全量数据上可能会有非常大的时延,我们可以指定 limit参数,它会限制我们计算的范围,从而完成提速。

在下面的示例中,我们设置 limit到 100,它告诉 Vaex 在达到 100 时就计算并返回结果:

result = df.pickup_longitude.nunique(limit=100, limit_raise=False)
print(f'result: {result}')
## 💦 7.云支持

随着数据集的增长,将它们存储在云中变得越来越普遍和实用,并且只将部分数据子集保留在本地。Vaex 对云非常友好——它可以轻松地从任何公共云存储下载(流式传输)数据。

并且 Vaex 只会获取需要的数据。例如,在执行 df.head() 时,只会获取前 5 行。要计算一列的平均值,只会获取该特定列的所有数据,Vaex 将流式传输该部分数据,因此并不会占用大量带宽和网络资源:

df_cloud = vaex.open('gs://vaex-data/airlines/us_airline_data_1988_2019.hdf5')

print('Size of data:')
print(f'Number of rows: {df_cloud.shape[0]:,}')
print(f'Number of columns: {df_cloud.shape[1]}')

df_cloud.head()

💦 8.GPU加速

最后,Vaex 还有非常强大功能,它可以使用 GPU 来加速,并且它支持的平台非常多:适用于 Windows 和 Linux 平台的 NVIDIA、适用于 Mac OS 的 Radeon 和 Apple Silicon。

下例中,我们定义了一个函数来计算球体上两点之间的弧距。这是一个相当复杂的数学运算,涉及大量的计算。我们使用先前的数据(数据集包含超过 10 亿行),尝试计算纽约出租车数据集中所有出租车行程的平均弧距:

print(f'Number of rows: {df.shape[0]:,}')

def arc_distance(theta_1, phi_1, theta_2, phi_2):
temp = (np.sin((theta_2-theta_1)/2*np.pi/180)**2
+ np.cos(theta_1*np.pi/180)*np.cos(theta_2*np.pi/180)
* np.sin((phi_2-phi_1)/2*np.pi/180)**2)
distance = 2 * np.arctan2(np.sqrt(temp), np.sqrt(1-temp))
return distance * 3958.8

df['arc_distance_miles_numpy'] = arc_distance(df.pickup_longitude, df.pickup_latitude,
df.dropoff_longitude, df.dropoff_latitude)

# Requires cupy and NVDIA GPU
df['arc_distance_miles_cuda'] = df['arc_distance_miles_numpy'].jit_cuda()

# Requires metal2 support on MacOS (Apple Silicon and Radeon GPU supported)
# df['arc_distance_miles_metal'] = df['arc_distance_miles_numpy'].jit_metal()

result_cpu = df.arc_distance_miles_numpy.mean(progress='widget')
result_gpu = df.arc_distance_miles_cuda.mean(progress='widget')
print(f'CPU: {result_cpu:.3f} miles')
print(f'GPU: {result_gpu:.3f} miles')

在上图中大家可以看到使用 GPU 可以获得相当不错的性能提升。如果我们没有GPU,也不用担心!Vaex 还支持通过 📘Numba和 📘Pythran 进行即时编译,这也可以显著提高性能。

参考资料

Python大规模数据集库之Vaex使用详解 在处理大规模数据集时,效率和性能至关重要。Python Vaex是一个针对大型数据集的高性能、内存效率和易于使用的数据分析库。本文将详细介绍Python Vaex的核心功能、用法以及如何利用它来处理和分析大规模数据集。 阅读详情

相关推荐

vaex安装(windows10)

写在前面:很少有教程描述vaex的下载安装,网上看到结论是windows上pip 与conda安装都不成功,自己尝试了一番,可正常使用,记录如下。 注:vaex已安装完成,现以spark为例,过程都是一致的。 1、打开anaconda prompt,输入 conda install vaex回车 2 输入anaconda search -t conda vaex 有100个spark包,现需要找出合适的那个 ,根据提示,输入anaconda show {package_name}..

sheery_sanyuan的博客 2054

vaex 处理海量数据_震惊! 居然可以用python在短短几秒内处理几十亿数据!

最近一个偶然的机会,我发现了一个可以在短短几秒内处理几十亿数据的python工具包:Vaex, 处于好奇我研究了一下Vaex,下面给大家简单介绍一下Vaex及其基本使用方法。Vaex是什么Vaex是用于惰性核心数据框架(类似于Pandas)的python库,用于可视化和探索大型表格数据集。它可以在N维表格上计算统计数据,例如均值,总和,计数,标准差等,最大可达十亿(109109)每秒的对象/行数。...

weixin_39637370的博客 1983

使用 Vaex 处理具有 2 亿行的数据集

在这篇文章中,我们生成了 2 亿条时序人工数据,有 4 列,大小接近 12GB。使用 Pandas 库无法读取数据集并对其进行探索和可视化。

天波风客的博客 606

Vaex,一个超酷的 Python 库!

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。方法进行自定义计算,这在处理复杂的数据操作时非常有用。

Trb201012的博客 1499

vaex-4.0.0a5:高性能大数据Python库

在数据处理与分析领域,vaex是一个强大的开源库,它在大数据处理上表现得尤为出色。vaex通过延迟计算和内存映射技术,允许用户以流的形式处理大规模数据集,几乎无需读取数据到内存中。这一特性使得vaex尤其适合于那些数据量庞大、无法一次性载入内存的场景。vaex的主要应用场景包括:- 大数据分析和可视化- 科学研究中的数据处理- 机器学习中的特征工程在接下来的章节中,我们将深入了解vaex如何在分布式计算环境中提升效率,以及如何在云平台中进行集成。

weixin_28746457的博客 701

Vaex——一个开源的DataFrame库,它可以对表格数据集进行可视化、探索、分析,甚至机器学习

**Vaex是一个开源的DataFrame库**,它可以对表格数据集进行**可视化、探索、分析,甚至机器学习**,这些数据集和你的硬盘驱动器一样大。**它可以在一个n维网格上每秒计算超过10亿(10^9)个对象的平均值、和、计数、标准差等统计信息**。可视化使用直方图、使用直方图、密度图和3D立体渲染进行可视化。为此,**Vaex采用了内存映射、高效的外核算法和延迟计算等概念来获得最佳性能(不浪费内存)**。 本文是上述介绍的.md笔记档,为一个刚好超出RAM范围(如50GB甚至500GB的数据集)的数据集做分析,又不能破费成本的设置一个集群, Vaex作为一个开源的DataFrame库,带来了解决方案!例子是使用纽约市出租车的数据集。

震惊! 居然可以用python在短短几秒内处理几十亿数据!

最近一个偶然的机会,我发现了一个可以在短短几秒内处理几十亿数据的python工具包:Vaex, 处于好奇我研究了一下Vaex,下面给大家简单介绍一下Vaex及其基本使用方法。 Vaex是什么 Vaex是用于惰性核心数据框架(类似于Pandas)的python库,用于可视化和探索大型表格数据集。它可以在N维网格上计算统计数据,例如均值,总和,计数,标准差等,最大可达十亿(109109)每秒的对象/行数。可视化使用直方图,密度图和3d体积渲染完成,从而可以交互式探索大数据。Vaex使用内存映射,零内存复制策

weixin_42608414的博客 5775

在win10-wsl2(ubuntu)中安装jlink

在 官方下载linux版本的deb包拷贝到ubuntu的/home目录下(其他目录也可以),进行安装然后提示很多依赖缺失的错误,此时执行自动安装需要的依赖包再次重新安装就可以啦查看是否安装成功,输入JLink 再按下两次Table键,是否如下所示这样表示安装成功了。

yaq_30401的博客 3138

Python Vaex库:高性能的大数据分析

更多Python学习内容:ipengtao.com在大数据分析领域,处理和分析海量数据需要高效的工具。Python的Vaex库是一款专为大数据设计的高性能数据分析库,能够在不牺牲性能的前提下处理超大规模的数据集。本文将详细介绍Vaex库的功能、安装与配置、基本和高级用法,以及如何在实际项目中应用它。Vaex库简介Vaex是一个开源的Python库,专门用于处理和分析大规模数据集。它采用惰性计算和内...

GitHub_miao的博客 1611

Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)

导语 "慢品人间烟火色 闲观人间岁月长" ———致自己​​​ ​ ???? 遇见我以后,我们的故事就开始了,愿你历经山河,仍觉得人间值得????。 ​ 星光月夜烟花皆归你,我也归你。关于烟花????大家都​知道多少?有多少表白故事情节都发生在烟 花下,想必木木子????不用说大家也知道叭~​​ 今天这则小短文就是关于烟花的故事!你准备好跟我一起进入烟花的世界了嘛? ​正文 “每一句文案,都有一个故事,你仔细听” ​ 1)环境安装???? 准备好:.

顾木子吖的博客 5万+

【PCL 特征】积分图法线估计

本文介绍了基于积分图的有序点云法线估计方法。通过利用点云数据的行列式结构特性,该方法避免了传统KD树搜索,采用积分图将邻域统计运算复杂度从O(k²)降至O(1)。详细阐述了四种法线估计算法:协方差矩阵法(精度最高)、平均3D梯度法(实时性好)、平均深度变化法(适合SLAM)和简单3D梯度法(速度最快)。重点分析了积分图构建、动态窗口平滑处理、法线方向调整等关键技术,并提供了PCL实现代码示例。实验表明,不同方法在精度和速度上存在显著差异,可根据具体应用场景选择合适算法。

yijiujiusan的博客 276

PagingKit完全指南:打造iOS自定义菜单UI的终极解决方案

PagingKit是一个专为iOS开发者设计的强大分页菜单UI库,它提供了比同类库更灵活的布局和设计选项。这个开源框架让你能够轻松构建高度自定义的菜单和内容分页界面,完全适配你的应用设计需求。无论你是iOS开发新手还是有经验的开发者,PagingKit都能帮助你快速实现专业级的分页导航体验。 ## 🎯 PagingKit核心功能与优势 PagingKit提供了完整的自定义菜单UI解决方案,让

gitblog_00560的博客 803

海洋捕食者算法(MPA)详解:从海洋生态智慧到高性能优化

摘要: 海洋捕食者算法(MPA)是一种基于海洋生态觅食行为的元启发式优化算法,模拟捕食者(如鲨鱼)的布朗运动和莱维飞行策略进行全局与局部搜索。算法分为三阶段:高速比阶段(全局探索)、单位速度比阶段(平衡搜索)和低速比阶段(局部开发),通过精英矩阵和FADs效应(概率扰动)避免早熟收敛。MPA具有参数少、收敛快、寻优能力强等特点,适用于复杂优化问题,其数学模型将生物行为转化为随机游走与自适应策略,并通过收敛因子动态调整探索-开发平衡。实验表明,MPA在多个基准问题上表现优异。

qq_42212808的博客 273

Python missingno和Vaex库:高性能的大数据分析

Python的missingno库提供了一种便捷且直观的方式来可视化数据缺失情况,从而帮助我们更好地理解和处理缺失值。它提供了多种图表类型,如矩阵图、条形图、热力图和树状图,帮助直观地展示数据集中缺失值的分布和模式。通过使用missingno库,数据科学家和分析师能够更轻松地识别和处理缺失数据,提高数据处理和分析的效率。它采用惰性计算和内存映射技术,允许在常规内存(RAM)中处理远超内存容量的数据。Vaex支持高效的过滤、聚合、分组和可视化操作,是进行大数据分析的理想选择。

曼陀罗的博客 1239

uniapp ios原生插件开发 (framework,cocoapods)

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

Rey的技术博客 9823

15、SQL Server查询优化与CPU负载管理

本文深入探讨了SQL Server查询优化与CPU负载管理的关键技术,包括强制连接类型的使用、键查找问题的解决、索引设计的最佳实践、高CPU负载的排查与优化,以及并行性的利弊与调整策略。通过优化查询逻辑、合理设计索引、监控与管理CPU资源,可以显著提升SQL Server的性能和稳定性。适用于数据库开发人员和DBA进行性能调优参考。

pz8901234的博客 77

0.052秒打开100GB数据?这个Python开源库这样做数据分析

编译 | AI科技大本营(ID:rgznai100)许多组织都在尝试收集和利用尽可能多的数据,以改善其经营方式,增加收入和提升影响力。因此,数据科学家面对50GB甚至500GB大小的数据...

AI科技大本营 1434

[VCS]VCS checkpoint简介以及其在SoC验证加速中的作用

VCS checkpoint是Synopsys VCS提供的快照/恢复机制,可显著加速SoC验证。其核心是在仿真关键节点(如完成初始化后)保存系统状态,后续测试可直接从该点恢复,避免重复执行冗长的初始化阶段(如boot、DDR训练等)。该技术特别适用于多测试用例共享同一初始状态的场景,通过分离初始化与功能验证流程,可提升回归效率3-5倍。需注意处理DPI-C状态同步、版本管理及存储优化等问题,结合UVM和自动化脚本可实现更高效的验证流程。典型应用可节省数百万cycle的重复仿真时间。

元直的博客 775

Zep开发者手册:API参考与自定义扩展开发指南 [特殊字符]

Zep是一款为生产级LLM应用提供快速、可扩展构建块的强大工具。本文将为开发者提供完整的API参考文档和自定义扩展开发指南,帮助你轻松构建高性能的AI应用。 ## 📚 Zep核心功能概览 Zep作为LLM应用的基础设施,提供了会话记忆管理、实体提取、自动摘要等核心能力。通过其模块化设计,开发者可以灵活集成这些功能到各类AI应用中,从聊天机器人到智能助手,满足不同场景的需求。 [![Zep架

gitblog_00825的博客 595

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Vaex助力高效处理大规模数据集

Vaex与NumPy、Pandas和Dask无缝集成,使用户能够利用它们的功能,并从Vaex的高性能操作中受益。无论处理的是结构化数据还是非结构化数据,Vaex都提供了一种可扩展和高效的解决方案,帮助用户有效处理大型数据集。借助其惰性计算的方法、高性能运算和交互式可视化功能,Vaex能够高效地操作、分析和可视化可能无法装入内存的大型数据集。这个示例使用Vaex打开一个存储在CSV文件中的大型数据集,没有将数据集全部加载到内存中,而是以惰性计算的方式定义新的列和对数据集进行计算,而不实际评估表达式。

csdn1561168266的博客 487

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

vaex的使用

DataFrame import vaex import numpy as np # 读取vaex自带数据 df = vaex.example() #读取指定列 df.x #获取指定列值 df.x.values #虚拟列 df['r'] = np.sqrt(df.x**2 + df.y**2 + df.z**2) #构造虚拟列由来 #重构表格 df[['x', 'y', 'z', 'r']] #将一个内存阵列添加为一列 df.add_column(name, f_or_array, dtype=None)

qq_45659384的博客 4366

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Vaex

一种更快、更安全、总体上更方便的方法,可以使用几乎任意大小的数据进行数据研究分析,只要它能够适用于笔记本电脑、台式机或服务器的硬盘驱动器。 Vaex Vaex是一个开源的DataFrame库,它可以对表格数据集进行可视化、探索、分析,甚至机器学习,这些数据集和你的硬盘驱动器一样大。它可以在一个n维网格上每秒计算超过10亿(10^9)个对象的平均值、和、计数、标准差等统计信息。可视化使用直方图、使...

oPerform的专栏 2489

Meshery 关系模型完全解读:从 Hierarchical 到 Edge 的组件互联机制

Meshery 使用"关系(Relationship)"这一抽象来刻画云原生组件(Component)之间的连接与依赖方式。本篇文章以 Meshery 设计目录(Catalog)中的 [Understanding Relationships 设计](https://link.gitcode.com/i/1b4aff64b4aeb41f38a554e497593fad) 为主体,系统梳理它集中演示的

gitblog_01138的博客 1086

使用 Pandas 分析亿行数据

本文从最开始的内存不足而无法进行数据处理任务开始,到最终在合理的时间和内存占用要求下解决任务。我们所有的代码都是使用 Python 完成,在所有解决方案中,我们的代码都是较短且不复杂的。我们也看到在某些情况下,我们可以通过修改代码中微小部分带来巨大的效率提升(比如使用 PyArrow 而不是c驱动的read_csv函数)。在其他情况下,我们可能大幅度修改了代码,但这些修改也没有触及根本逻辑,且带来了性能提升。有很多方法可以使我们的代码运行速度更快且内存占用更少,此处展示的方案仅占其中的一小部分。

WongSSH的博客 1125
上一篇: AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼
下一篇: 高手系列!数据科学家私藏pandas高阶用法大全 ⛵
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值