首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在gpu上运行Pandas和sklearn

我们将创建cuDF(cuda dataframe),其大小为10000000行x 2(10M x 2),首先导入需要库: import cudf import pandas as pd import...我们看看创建时间对比: 现在让我们看看GPU是否通过对这些数据帧执行一些操作来提高性能!...对数运算 为了得到最好平均值,我们将对两个df应用np.log函数,然后运行10个循环: GPU结果是32.8毫秒,而CPU(常规pandas)则是2.55秒!...基于gpu处理快多。 从" Int "到" String "数据类型转换 通过将col_1”(包含从0到10M整数值)转换为字符串(对象)来进一步测试。...cuml.metrics.regression import r2_score from sklearn.linear_model import LinearRegression as skLinearRegression 创建虚拟数据并将其拆分

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

让SQL起飞(优化)

本文给大家总结如何让SQL起飞(优化) 一、SQL写法优化 在SQL,很多时候不同SQL代码能够得出相同结果。...这里用Items表和SalesHistory表举例: 图片 我们思考一下如何从上面的商品表Items找出同时存在于销售记录表SalesHistory商品。简而言之,就是找出有销售记录商品。...如果你建立一个(col_1, col_2, col_3)联合索引,相当于建立了 (col_1)、(col_1,col_2)、(col_1,col_2,col_3) 三个索引。...* FROM SomeTable WHERE col_2 = 100 AND col_1 = 10 ; 联合索引第一col_1)必须写在查询条件开头,而且索引顺序不能颠倒。...可能需要说明是最后一条SQL为什么会走索引,简单转化一下,col_2 = 100 AND col_1 = 10, 这个条件就相当于col_1 = 10 AND col_2 = 100,自然就可以走联合做因

1.4K42

DataFrame表样式设置(一)

直到我遇到了StyleFrame模块,这个模块是把Pandas和openpyxl进行了结合,让你既可以享受DataFrame操作便利,又可以轻松利用openpyxl进行表格样式设置。...Excel我们平常设置主要有字体(类型、颜色、边框线、背景色、下划线、大小、加粗)、对齐方式(水平方向、垂直方向)、数字(数据显示格式,百分数、小数点位数、时间格式设置)、条件格式四个部分。...当我们把字体样式设置成Arial样式,实现代码如下: #将col_1col_2字体设置成微软雅黑 sf.apply_column_style(cols_to_style=["col_1","col..._1字体设置成绿色,col_2字体设置成红色,实现代码如下: sf.apply_column_style(cols_to_style=["col_1"],...我们把col_1单元格背景设置成绿色,col_2单元格背景设置成红色,实现代码如下: sf.apply_column_style(cols_to_style=["col_1"],

5.2K31

数据库优化:SQL高性能优化指南,助你成就大神之路!

1、参数是子查询时,使用 EXISTS 代替 IN 如果 IN 参数是(1,2,3)这样列表时,没啥问题,但如果参数是子查询时,就需要注意了。...8、减少中间表 在 SQL ,子查询结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表索引不容易用到,所以尽量减少中间表也可以提升性能...“col_1, col_2, col_3”。...,第三条由于没有先匹配 col_1,导致无法命中索引, 另外如果无法保证查询条件里顺序与索引一致,可以考虑将联合索引 拆分为多个索引。...),降低性能,而如果我们所要数据就在组合索引里,只需读取组合索引,这样网络带宽将大大减少,假设有组合索引 (col_1, col_2) 推荐用 SELECT col_1, col_2 FROM

82320

还在为数据清洗抓狂?这里有一个简单实用清洗代码集

数据清洗小工具箱 在下面的代码片段数据清洗代码被封装在了一些函数,代码目的十分直观。你可以直接使用这些代码,无需将它们嵌入到需要进行少量参数修改函数。 1....如果你有兴趣学习如何使用「Pandas」来处理大数据,我强烈推荐你阅读「Why and How to Use Pandas with Large Data」这篇文章(https://towardsdatascience.com...删除字符串 def remove_col_str(df): # remove a portion of string in a dataframe column - col_1 df...你可以很容易地使用 df['col_1'].replace 来处理该问题,其中「col_1」是数据帧 df 。 6....在字符串开头有一些空格是很常见。因此,当你想要删除字符串开头空格时,这种方法很实用。 7.

71520

Pandas数据显示不全?快来了解这些设置技巧! ⛵

图片对 Pandas 不熟悉同学,一定要学习下这个宝藏工具库哦!ShowMeAI 给大家做了一个详尽教程,可以在 ? Python 数据分析教程 查看,我们同时也制作了 ?...小数位精度不一致对于浮点型字段Pandas 可能有不同位精度。例如下图中,col_1 精确到小数点后一位,而 col_2 精确到小数点后三位。有时候精度不一致可能会有信息差异。...图片在本篇内容,ShowMeAI 将介绍如何使用 Pandas 自定义设置来解决诸如上述问题。...主要设置包括下面内容:自定义要显示行数自定义要显示数自定义宽使浮点之间小数位精度保持一致禁用科学记数法其他用法注意:以上设置仅更改数据显示呈现方式,实际并不会影响Dataframe存储数据...设置字段小数位精度一致前面提到一个例子col_1col_2 小数位精度不一致:图片我们可以通过设置 display.float_format 至 "{:.2f}".format 使格式一致

2.8K61

SQL 进阶技巧(下)

1 取得唯一行 数据库引擎只要发现满足条件一行数据则立即停止扫描,,这种情况适用于只需查找一条满足条件数据情况 三、 注意组合索引,要符合最左匹配原则才能生效 假设存在这样顺序一个联合索引“col...,第三条由于没有先匹配 col_1,导致无法命中索引, 另外如果无法保证查询条件里顺序与索引一致,可以考虑将联合索引 拆分为多个索引。...,聚簇索引叶子节点上存有主键值+整行数据,非聚簇索叶子节点上则存有辅助索引 + 主键值,如下 ?...所以就算对 COUNT(*) 使用主键查找,由于每次取出主键索引叶子节点时,取是一整行数据,效率必然不高,但是非聚簇索引叶子节点只存储了「 + 主键值」,这也启发我们可以用非聚簇索引来优化,假设表有一叫...),降低性能,而如果我们所要数据就在组合索引里,只需读取组合索引,这样网络带宽将大大减少,假设有组合索引 (col_1, col_2) 推荐用 SELECT col_1, col_2 FROM

61620

Pandas 2.2 中文官方教程和指南(十·二)

True colindexes := { "B": Index(9, fullshuffle, zlib(1)).is_csi=True} In [544]: st.close() 请参阅这里如何现有存储上创建完全排序索引...对于其他驱动程序,请注意 pandas 从查询输出推断 dtype,而不是通过查找物理数据库模式数据类型。例如,假设userid是表整数列。...它不是公共 API 一部分,并将在未来某个时候被删除而没有警告。 分类数据 分类数据可以导出为Stata数据文件,作为带有标签数据。导出数据包括底层类别代码作为整数数据和类别作为标签。...要对 categories 和顺序进行更多控制,请提前创建CategoricalDtype,并将其传递给该dtype。...URL,用于访问压缩存档数据,文件本地缓存

15800

快速对表某字段赋递增数值

假如有这张一张表,当时创建时没有用来存放递增数值int型字段。在使用过程,有这样需求。..._1 NVARCHAR(20), col_2 NVARCHAR(40) );GO code-1:建表 插入测试数据 INSERT INTO T33 (col_1,col_2)SELECT TOP...[name],20),NEWID() FROM sys.objects AS a CROSS JOIN sys.objects AS b;GO code-2:插入数据 这时,如果需要在这张表上增加一int...除了直接在SSMS表设计器(添加字段id,并设置为自增列)上做之外,还可以使用脚本来实现。用脚本来实现有一个好处是:如果表已有的数据已经很多时,有很大优势。...如何添加? ----------2016-01-08 18:00 更新-------- 经过@goto13 提醒,直接在添加id字段时,指定为自增列就已经可以实现最后效果了。谢谢!

52760

SQL 进阶技巧(上)

查询 col_1 */ SELECT col_1 FROM SomeTable; 多行注释很多人不知道,这种写法不仅可以用来添加真正注释,也可以用来注释代码,非常方便 3、缩进 就像写 Java...,Python 编程语言一样 ,SQL 也应该有缩进,良好缩进对提升代码可读性帮助很大,以下分别是好缩进与坏缩进示例 -- 好缩进 SELECT col_1, col_2,...MAX(col_2) FROM tbl_B WHERE col_3 = 100 ) GROUP BY col_1, col_2, col_3 4、空格 代码应该适当留有一些空格,如果一点不留,...我们经常需要按分数,人数,销售额进行排名,有 Oracle, DB2 可以使用 RANK 函数进行排名,不过在 MySQL RANK 函数未实现,这种情况我们可以使用自连接来实现,如对以下 Products...八、减少中间表 在 SQL ,子查询结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表索引不容易用到,所以尽量减少中间表也可以提升性能

1.1K20

盘一盘 Python 特别篇 15 - Pivot Table

透视表是一种做多维数据分析工具,还记得 Pandas split-apply-combine 三部曲吗?首先用 groupby 分组,再平行将某个函数应用到各组上,最后自动连接成一个总表。...先看一张图: Pivot 字面意思是支点,即上图中 index 和 columns 指定行和标签,支点可想理解成数据 (values) 在哪个维度上做整合 (aggfunc),再吧 NaN 用...因为这两是数值型 (int, float),而其他例是非数值型 (object),用 df.dtypes 就可看出。...aggfunc 参数还可以传进一个字典来实现不同下应用不同整合函数,语法如下: aggfunc = {col_1:func_1, col_2:func_2, ... col_n:func_n} pd.pivot_table...语法如下: aggfunc = {col_1:func_1, col_2:func_list, ... col_n:func_n} 假设第二传入一个函数列表。

1.4K20

SQL性能优化基础|技术创作特训营第一期

人数,销售额进行排名,有 Oracle, DB2 可以使用 RANK 函数进行排名,不过在 MySQL RANK 函数未实现,这种情况我们可以使用自连接来实现,如对以下 Products 表按价格高低进行排名图片图片结果如下...(1,2,3)这样列表时,没啥问题,但如果参数是子查询时,就需要注意了。...,只需读取组合索引,这样网络带宽将大大减少,假设有组合索引 (col_1, col_2)推荐用SELECT col_1, col_2 FROM SomeTable WHERE col_1 =...通过遵循SQL书写规范,使用进阶技巧如别名、子查询和连接操作来简化复杂查询,并通过合理创建索引、优化查询逻辑和结构、优化数据库表设计、避免全表扫描以及调整数据库服务器参数方法来提高查询效率。...3、SQL 优化方法:合理创建索引、优化查询逻辑和结构、优化数据库表设计、避免全表扫描、调整数据库服务器参数。

34220

MySQL 8.0 之 Online DDL快速加

说实话,这个问题还真不好回答,为什么要迁移,一定是遇到了某种瓶颈,可能是数据量也可能是数据类型,于是我咨询了一下业务,最终得到了答案:这个业务某些表,要频繁加字段。...Copy方法 MySQL5.5版本及之前方法:Copy 它执行示意图如下: 我们有一个原表A,只包含1个字段,它包含1、2、4、6这几条记录,当我们使用Copy算法加时: 1、创建了一个新表...可以看到,Copy算法需要拷贝一遍数据,需要额外存储空间来存储tmp-A这个临时表。另外,在拷贝数据过程,表A写入操作会丢失,也就是说,表A在alter table过程不能有数据更新。...另外,这里需要解释下,Copy算法中生成tmp-A临时表是在Server层面创建,而上述Online DDL操作tmp-file是在插件式存储引擎Innodb内部生成,我们把这种在Innodb...我们来看它优势,首先我们创建一个表t1,并插入26w条数据,然后分别添加数据col_1,col_2,col_3,并显示指定加算法为copy、inplace、和instant,结果如下: [test

2.2K21

2000字详解 当Pandas遇上超大规模数据集该如何处理呢?

,那么我们就可以将该去除掉,代码如下 # Filter out unimportant columns df = df[['col_1','col_2', 'col_3', 'col_4', 'col...转变数据格式 最后我们可以通过改变数据类型来压缩内存空间,一般情况下,Pandas模块会给数据自动设置默认数据类型,很多数据类型里面还有子类型,而这些子类型可以用更加少字节数来表示,下表给出了各子类型所占字节数...对于内存当中数据,我们可以这么来理解,内存相当于是仓库,而数据则相当于是货物,货物在入仓库之前呢需要将其装入箱子当中,现在有着大、、小三种箱子, 现在Pandas在读取数据时候是将这些数据无论其类型...因此我们优化思路就在于是遍历每一,然后找出该最大与最小,我们将这些最大最小与子类型当中最大最小去做比较,挑选字节数最小子类型。...我们举个例子,Pandas默认是int64类型某一最大与最小分别是0和100,而int8类型是可以存储数值在-128~127之间,因此我们可以将该从int64类型转换成int8类型,也就同时节省了不少内存空间

29330

20个经典函数细说Pandas数据读取与存储

方法,作用是将DataFrame当中数据存放到数据库当中,请看下面的示例代码,我们创建一个基于内存SQLite数据库 from sqlalchemy import create_engine engine...orient参数,用来指定字典当中键是用来做行索引还是索引,请看下面两个例子 data = {'col_1': [1, 2, 3, 4], 'col_2': ['A', 'B', 'C...col_1 col_2 0 1 A 1 2 B 2 3 C 3 4 D 当然我们也可以将其作为是行索引,将orient设置为是...index df = pd.DataFrame.from_dict(data, orient='index') output 0 1 2 3 col_1 1 2 3 4 col...,将列名作为参数传递到该函数调用,要是满足条件,就选中该,反之则不选择该 # 选择列名长度大于 4 pd.read_csv('girl.csv', usecols=lambda x: len

3K20
领券