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

降低数据大小的四大绝招。

↑↑↑关注后"星标"炼丹笔记 炼丹笔记干货 作者:Kaggle竞赛宝典摘自Chris Deotte的分享 降低数据大小的四大绝技 简介 在非常多的问题中,例如商品推荐数据存储(大量的用户和商品...我们可以将此转换为仅使用4字节或8字节的int32或int64。典型的技巧如获取十六进制字符串的最后16个字母,然后将该base16数字转换为base10并另存为int64。 2....类别特征,从8 bytes降低为1 bytes 将一些最大值为8个值的类别列转化为int8的正数,这样就变成了1个byte,将原先8个bytes转化为了1个byte。 4....数值特征,从8 bytes降低为2 bytes 对于一些将float64转化为float32而不损失信息的字段可以直接转化,还有很多字段可以直接从float64转化为float16,这样就可以转化为2个...一些文件格式(如Parquet)逐列保存数据。这将影响以后读取数据。如果将来我们想读取行的子集。也许行顺序更好更快。如果将来我们想读取列的子集,那么列顺序可能会更好更快。

1.3K10

个人永久性免费-Excel催化剂功能第92波-地理地址与经纬度互转功能

同样地还有一些不周到的报表导出数据,将地址信息中的省市区县和详细地址信息合并起来,某些场景需要重新加工成有多列的地址信息如省、市、区县、详细地址各一列时,手工一次性做完这样的工作几乎不可能。...使用本篇的地址转换功能,也同样可以将地址转换为经纬度的同时,也将其拆散出省、市、区县、详细地址多列的数据。...其逆转换场景同样也很常见,许多设备记录下来的是经纬度信息,需要将其转换为省、市、区县、详细地址多列的数据结构,并进行下一步地分类汇总统计分析。...功能入口 在第90波费了很大的劲,实现出来的json转标准数据表结构,将在接下来的许多的网络API接口信息采集过程中大放光彩,将所有的选择主动权完成交回给用户自身处理。...数据源准备 接口文档说明 Excel催化剂提供address和city两个参数的设置,当选择一列时,只传入address,当选择两列时,右侧列参数为city,city值请根据上一篇中提供的行政区域信息下载中自行查询

1.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    1.9 PowerBI数据准备-逆透视,将二维表或多维表转换为一维表

    因此,很多时候需要在PowerQuery中将二维的甚至更多维的数据源表转换为一维表。举例1二维表转一维表,年月横向展开的。...转换为一维表,如下:操作步骤STEP 1 PowerQuery获取数据后,按住Ctrl键选中年月以外的其他列,点击菜单栏转换下的逆透视列-逆透视其他列。...STEP 2未选中的列变成了两列,一列属性,一列值,双击列标题改名后保存。图片举例2多维表转一维表,多层表头+多列维度。...STEP 2 保留合并的这一列,删除合并前的所有维度列,然后把合并的这一列拖动到第一列。STEP 3 点击菜单栏转换下的转置,切换行和列的位置。...图片STEP 4 转置后,点击表的左上角,将第一行作为列标题。STEP 5 按住Ctrl键选中维度列,然后点击菜单栏转换下的逆透视其他列。

    6610

    pandas

    原因: writer.save()接口已经私有化,close()里面有save()会自动调用,将writer.save()替换为writer.close()即可 更细致的操作: 可以添加更多的参数,比如...列中的日期转换为没有时分秒的日期 df.to_excel("dates.xlsx") 向pandas中插入数据 如果想忽略行索引插入,又不想缺失数据与添加NaN值,建议使用 df['column_name...baidu.index.name = "列名称" pandas删除数据 用drop()或者del(),drop()可以不会对原数据产生影响(可以调);del()会删除原始数据 drop() 一次删除多行或多列...,比较灵活 DataFrame.drop(labels,axis=0,level=None,inplace=False,errors=’raise’) 删除特定的多列 # Import pandas package...通常情况下, 因为.T的简便性, 更常使用.T属性来进行转置 注意 转置不会影响原来的数据,所以如果想保存转置后的数据,请将值赋给一个变量再保存。

    13010

    个人永久性免费-Excel催化剂功能第16波-N多使用场景的多维表转一维表

    很可惜,一般主流Excel插件都仅限于将二维表转换为一维表的功能实现,另外多种多维转一维的需求都未见有实现的功能。此次Excel催化剂将多维表转换一维表的功能发挥得淋漓尽致。...列组字段名称 在多级表头中,如上图的年份、季度列数据中,需要逆透视把多列数据合并到一列时,需要重新命名的列名称,对应于拉透视表时的多个列字段的列名称。...列值字段名称 对数据值区域的内容重新定义是属于什么类型的值数据,如上图的销售量、销售额、销售成本等,对应于拉透视表时的是值区域里的数据列名称。...选择多列的数据(选列标题即可,按住Ctrl可选多个间隔开的列),此时区域会出现逗号(,)或冒号(:),此时程序识别为人工已经选择了所有同一类型的数据列,无需使用后两项再进行逻辑加工出所有同一类型的数据列...选择1列的数据,请选择从左边开始首次出现列标题,如上图的销售量是C4单元格开始出现,然后判断数据的后续出现规律是连续出现还是间隔出现,如类型4为连续出现,类型5为间隔出现。

    3.4K20

    ③matlab向量和矩阵

    3 5 任务 创建一个名为 x 的数组,其中包含两个元素:7 和 9 3.当您用空格(或逗号)分隔数值时(如前面的任务中所示),MATLAB 会将这些数值组合为一个行向量,行向量是一个包含一行多列的数组...6.您可以组合使用空格和分号来创建一个矩阵,即包含多行多列的数组。输入矩阵时,您必须逐行输入它们。...但是,您可以使用转置运算符 (') 将行向量转换为列向量。 x = 1:3; x = x' x = 1 2 3 任务 使用转置运算符将 x 从行向量转置为列向量。...7.您可以通过在一条命令中创建行向量并将其全部转置来创建列向量。注意此处使用圆括号来指定运算的顺序。...将结果赋给名为 x 的变量。 3.任务 使用 zeros 函数创建一个包含 6 行 3 列 (6×3) 的全零矩阵。将结果赋给名为 x 的变量。 附加练习 如何知道现有矩阵的大小?

    11010

    如何把多维数据转换成一维数据?

    ,所以在转置前把索引列给去除,然后在进行转置。...对每一个表用表格里的第一列的第一个值作为表的说明。...Table.AddColumn(删除的其他列, "自定义.1", each [自定义][Column1]{0}) 添加列并取自定义表的Column1列的第1行值作为表的说明。 ? 5....(二) 使用自定义函数 之前我们有做过一个关于多列数据组合的自定义函数。 Power Query中如何把多列数据合并? Power Query中如何把多列数据合并?升级篇 ? 1....使用自定义函数进行多列合并 批量多列合并(转置表,Table.ColumnCount(转置表)/7,7,0) 解释: 第1参数代表需要处理的表,转置表代表上个过程的表 第2参数代表是循环次数,这里实际转换是

    2.7K10

    站在机器学习视角下来看主成分分析

    将求和项进行更深一步的化简得到: ? 即现在问题是一个最大值的优化问题。 ? 我们开始的最小化问题是最小化从数据集到投影的正交距离。对于最大化问题,我们看到它是最大化方差。...由于矩阵Q(Q的转置)是对称的,所以将应用上述对称矩阵的相同定理, 如果A是可对角化的矩阵,则A的轨迹等于A的特征值之和。这是证明: ?...我们还可以将跟踪的想法带入最小化问题,如下所示: ? 因此,最大化矩阵的轨迹是 ? 等效于最大化协方差矩阵以及与X的X转置相关联的特征值。...注意,X的X转置的维度是dxd,但是其轨迹被最大化的矩阵具有kx k的维度。trace操作的输出是特征值之和的kxk矩阵,但是argmax操作的输出是(dxk)Q矩阵,其中每列是X的X转置的特征向量。...但是,我们真正想要的是将原始数据投影到新维度上。PCA的最后一步是我们需要将Q的Q转置与原始数据矩阵相乘以获得投影矩阵。我们从(dxk)Q矩阵开始,Q的Q转置导致dxd维度。

    1.2K50

    个人永久性免费-Excel催化剂插件功能修复与更新汇总篇之一

    第5波-使用DAX查询从PowerbiDeskTop中获取数据源 DAX查询结果导出到Excel表格性能提升,旧有方式地导出10万级别的数据量时会比较慢,现使用EEPLUS的xml读写方式,得到很大提升...第11波-快速批量插入图片并保护纵横比不变 修复在不同工作表不能插入相同的图片的bug 【重新调整图片】按钮可以对筛选或排序引起图片错位时使用,此时尽量保持数据插入是整列插入的,而不是分散到多列的插入图片...,因第13波可以使用自由报表功能,把整列插入的图片转换为自由布局的多列显示,故此处的【重新调整图片】不再做其他场景使用。...第16波-N多使用场景的多维表转一维表 修复多级表头转换为一维表时,保留字段过多时,数据转换会出现错位问题 新增当多级表头,需要双击选择某一数值字段时,自动把选择的数值字段对应的单元格的文本存放至左侧的列值字段名位置...、高度值来缩放图片(不建议如此操作,图片可能会变形)

    1.6K20

    BI开发过程中的数据处理(Doris)

    (多) COALESCE() null替换为设置的字符 select name,COALESCE(phone,'-') as phone from t_student_detail; 处理策略 替换为最小值...replace_min 替换为最大值 replace_max 替换为平均值 replace_avg 替换为中位数 replace_median 替换为出现频率最高的值 replace_high_frequency...根据条件筛选:从左至右依次分别为设置字段、逻辑符和值。...分隔符:逗号、分号、空格、tab、- 拆分后的列将按照新字段名称_数字序号的格式按顺序依次命名,数字序号从1开始 参数 { tableName:"t_user", fields:["name...fieldPivot 透视列 fieldValue 值列名称 dealType 聚合方式 dealType 求和 sum 计数 count 最大值 max 最小值 min 通过case实现 先查出要进行行转列的列属性的值

    1.1K80

    在Pandas中更改列的数据类型【方法总结】

    例如,上面的例子,如何将列2和3转为浮点数?有没有办法将数据转换为DataFrame格式时指定类型?或者是创建DataFrame,然后通过某种方法更改每列的类型?...pandas’: >>> pd.to_numeric(s) # or pd.to_numeric(s, errors='raise') ValueError: Unable to parse string 可以将无效值强制转换为...对于多列或者整个DataFrame 如果想要将这个操作应用到多个列,依次处理每一列是非常繁琐的,所以可以使用DataFrame.apply处理每一列。...软转换——类型自动推断 版本0.21.0引入了infer_objects()方法,用于将具有对象数据类型的DataFrame的列转换为更具体的类型。...astype强制转换 如果试图强制将两列转换为整数类型,可以使用df.astype(int)。 示例如下: ? ?

    20.3K30

    数据导入与预处理-拓展-pandas筛选与修改

    数据删除-删除多列 1.5 数据筛选 1. 数据筛选-筛选指定列号 2. 数据筛选-筛选指定列名 4. 数据筛选-筛选指定行 4. 数据筛选-筛选行号+列名 2. 总结 1....数据修改–修改值 # 将 ROC(第一列第五行)修改为 俄奥委会 df_new.iloc[4,0] = '俄奥委会' df_new 输出为: 4....数据修改–替换值 替换值(单值) # 数据修改--替换值(单值) 将金牌数列的数字 0 替换为 无 df_new['金牌数'].replace(0,'无',inplace=True) df_new 输出为...: 替换值(多值) # 数据修改--替换值(多值) # 将 无 替换为 缺失值 将 0 替换为 None import numpy as np df_new.replace(['无',0]...max(0) 输出为: 金牌数 39 银牌数 41 铜牌数 33 dtype: int64 查看行数据中指定多列中的最大值 如果查看每个国家中金牌数银牌数铜牌数的最大值 df_new.bfill

    1.4K20

    位运算

    分别读作:左移、右移 位于 &(一0则0) 将两个十进制数转为二进制,将此两个二进制转换为列竖式,运算时两个位数任意一个是0则此位是0,有1个1则是1。然后将结果转为十进制。...位或| (双0则0) 将十进制数转为二进制,将2个二进制的数转换为列竖式,两个位数都是0,则此位是0,否则是1。...14 异或 ^(互异则1) 将十进制数转为二进制,将2个二进制的数转换为列竖式,两个位数不同时,则此位是1,否则是0。...,将2个二进制的数转换为列竖式, 左移 <<(数值变大) 将十进制数转为二进制,原二进制向左移动X位,空位补0,然后将此结果转为10进制 @Test void 左移() {...() { // 定义用户当前状态值 int userStatus = 15; System.out.println("初始化状态:" + userStatus

    1.4K20

    一文搞懂反卷积,转置卷积

    我们想要将输入矩阵中的一个值映射到输出矩阵的9个值,这将是一个一对多(one-to-many)的映射关系。这个就像是卷积操作的反操作,其核心观点就是用转置卷积。...因此就结论而言,卷积操作是多对一,而转置卷积操作是一对多,如下图所示,每一个“对”而言,都需要维护一个权值。 但是我们将如何具体操作呢?...为了将卷积操作表示为卷积矩阵和输入矩阵的向量乘法,我们将输入矩阵 4 × 4 4 \times 4 4×4摊平(flatten)为一个列向量,形状为 16 × 1 16 \times 1 16×1,如下图所示...需要注意的是:这里的转置卷积矩阵的参数,不一定从原始的卷积矩阵中简单转置得到的,转置这个操作只是提供了转置卷积矩阵的形状而已。...即使它被称为转置卷积,它并不是意味着我们将一些现存的卷积矩阵简单转置并且使用其转置后的值。 从本质来说,转置卷积不是一个卷积,但是我们可以将其看成卷积,并且当成卷积这样去用。

    87620

    Python数据分析:numpy

    a.transpose() a.swapaxes(1,0) a.T 以上的三种方法都可以实现二维数组的转置的效果,转置和交换轴的效果一样。...numpy索引和切片 a[1,:] # 取一行,可简写为a[1] a[:,2] # 取一列 a[1:3,:] # 取连续多行,可简写为a[1:3] a[:,2:4] # 取连续多列 a[[1,3...不满足替换为4 a.clip(2,3) # 裁剪,大于3替换为3,小于2替换为2 numpy中的nan和inf nan(NAN,Nan):not a number,表示不是一个数字,type类型为float...(axis=None) 均值:t.mean(axis=None) 中值:np.median(t,axis=None) 最大值:t.max(axis=None) 最小值:t.min(axis=None)...其他实用方法 1.获取最大值最小值的位置 np.argmax(t,axis=0) np.argmin(t,axis=1) 2.创建一个全0的数组: np.zeros((3,4)) 3.创建一个全1的数组

    1.1K40

    一次性学懂Excel中的Power Query和Power Pivot使用

    合并列常用的方法 3.5 透视列与逆透视列操作 3.5.1 一维表和二维表 3.5.2 实例1:一维表转二维表 3.5.3 实例2:二维表转一维表 3.5.4 实例3:含有多重行/列表头的数据清洗 3.6...4.4.3 容错语句try…otherwise… 4.4.4 each _与(x)=>的关系 4.4.5 为公式添加注释 第5章  常用的M函数实战详解 5.1 各种数据类型之间的相互转换 5.1.1 将值转换为文本...5.1.2 将值转换为数值 5.1.3 将值转换为日期 5.2 List和Table的批量转换实战 5.2.1 批量转换函数List.Transform的实际应用 5.2.2 批量转换函数Table.TransformColumns...5.6.1 Table.Group函数和常规分组计算 5.6.2 实例:条件分组计算和数据清洗整理获奖数据 5.7 参数与自定义函数 5.7.1 参数的设置方法 5.7.2 实例:创建和调用自定义函数将一列拆分为多列...Excel工作簿中的数据 6.1.3 实例3:获取网页中的表格数据 6.1.4 实例4:获取CSV或TXT文件数据 6.1.5 实例5:实时获取数据库中的数据 6.2 数据转换综合实战 6.2.1 实例1:将复杂的二维调薪表转换为一维明细表

    9.3K20

    快速掌握apply函数家族推荐这篇文档

    sapply:与 lapply 类似,但它自动将结果转换为向量、矩阵或数组。 apply:用于对矩阵或数组的行、列或其他维度进行循环操作。...❝如果想要将结果转换为向量、矩阵或数组,可以使用 sapply 函数。它的基本语法与 lapply 类似,只是将 lapply 替换为 sapply 即可。...❞ 例如,下面的代码使用 sapply 函数将列表中的每个字符串转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") # 使用 sapply 函数对列表中的每个字符串执行...函数求出矩阵中每一列的最大值: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数求出矩阵中每一列的最大值 apply(x, 2, max) [1] 3...6 9 例子 2:使用 apply 函数将矩阵转置 下面的代码使用 apply 函数将矩阵转置: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数将矩阵转置

    2.9K30
    领券