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

看了这个例子,一辈子记住这个有趣的函数,以后给内容配对就有思路了

有朋友在微信公众号的后台发消息提问:怎么同时对两列合并的文本进行逆透视?...看图: 逆透视是多列(列名)都逐个放到行里变明细数据哦,而上面想要的结果列和原始数据的列是一毛一样的,只是要把列里面的内容拆分、配对展开…… 数据简化模拟如下:...1、不能拆分到行:因为要分别对两列的内容进行拆分且找配对关系,先拆任何一列都会使配对关系丢失; 2、不能拆分到列:因为要拆分的内容的项数是不固定的。...Step 02:添加自定义列,把两列拆分出来的内容直接拉到一起 内容配对好后,就可以层层展开了…… - 3 - 内容展开 Step 03:第一次展开,扩展到新行(因为不同的配对内容是要拆到多个行的...) Step 04:第二次展开,提取值(因为配对好的内容本身是要在同一行里的,分隔符按需要选择即可,后面拆分列时用,这里选择空格) Step 05:提取出来后,再按前面选择的分隔符简单分列即可

95340

MYSQl规范

避免使用NULL字段 NULL字段很难查询优化 NULL字段的索引需要额外空间 NULL字段的复合索引无效 少用text/blob varchar的性能会比text高很多 实在避免不了blob,请拆表...where age +1 = 10; 不用外键,请由程序保证约束 sql语句尽可能简单 一条sql只能在一个cpu运算 大语句拆小语句,减少锁时间 一条大sql可以堵死整个库 简单的事务,事务时间尽可能短...避免使用trig/func 触发器、函数不用 客户端程序取而代之 避免负向% limit高效分页,limit越大,效率越低 少用连接join 库名,表名,列名必须用小写,采用下划线分隔...abc,Abc,ABC都是给自己埋坑 库名,表名,列名必须见名知义,长度不要超过32字符 tmp,wushan谁TM知道这些库是干嘛的 建议将大字段,访问频度低的字段拆分到单独的表中存储,分离冷热数据...禁止在where条件列使用函数或者表达式 禁止大表JOIN和子查询

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

    赞!这样的数据实现动态拆分也这么容易!

    大海:那用Power Query处理起来也不复杂,关键点在于怎么能保证数据增加的时候,能动态地生成多列的列名。...Step 01 添加索引列(用于保证操作后每行数据的顺序) Step 02 按分隔符逗号拆分到行 Step 03 继续按分隔符左括号“(”拆分到行 Step 04 替换掉不需要的右括号“)” Step...05 分组并修改步骤代码生成各组数据的索引,用于做标题行 Step 06 展开数据后进行透视 小勤:两次分列到行的操作很赞啊!...我原来想着一次分列到行,然后就直接分成多列,结果想做透视的时候就懵了,正想着怎么能实现多列同时透视呢。 大海:PQ里的透视只支持对一列(值)进行,而不支持将多列同时透视到同一个标题(列名)下的。...因为每列都必须有明确的列名。 小勤:对的。通过这个例子我知道像这种情况该怎么做了。

    67210

    Power Query极致应用:商品分拣效率提升一倍

    那么是否可以简化,实现以下效果:物流中心在收到供应商货品时,并不将货品上架,而是每箱按照分货单直接分到店铺?...直接拆箱分到店铺 这种操作方式叫做越库。...[数量]}添加自定义列将两个查询中的数量全部展开为1,装箱单行数与分货单行数即可保持一致,即行数都等于货物的数量。这也是本文唯一使用的复杂公式。 {1.....[数量]} 展开上述自定义列后,再次添加自定义列,数值都为1即可,这里对原数量拆分到了多行。 分拆行的查询 3....装箱单排序 分货单排序 两个查询分别添加索引列,并按索引将两个查询合并,合并后的查询在装箱单界面只展开“店铺”列。 添加索引 按索引合并查询 展开店铺列 4.

    95340

    (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线

    pdpipe的出现极大地对数据分析过程进行规范,其主要拥有以下特性: 简洁的语法逻辑 在流水线工作过程中可输出规整的提示或错误警报信息 轻松串联不同数据操作以组成一条完整流水线 轻松处理多种类型数据 纯Python...2.2 pdpipe中的重要子模块 pdpipe中的API按照不同分工被划分到若干子模块,下面将针对常用的几类API展开介绍。...,默认为None func_desc:str型,可选参数,为你的函数添加说明文字,默认为None   下面我们来举例演示帮助理解上述各个参数: 针对单个列进行计算 pdp.AggByCols(columns...图14   设置drop参数为False,并将suffix参数设置为'_log': # 设置drop参数为False,并将suffix参数设置为'_log' pdp.AggByCols(columns...图15   可以看到这时原有列得以保留,新的列以旧列名+后缀名的方式被添加到旧列之后,下面我们修改result_columns参数以自定义结果列名: # 设置drop参数为False,并将suffix参数设置为

    1.4K10

    案例 | 用pdpipe搭建pandas数据分析流水线

    2.2 pdpipe中的重要子模块 pdpipe中的API按照不同分工被划分到若干子模块,下面将针对常用的几类API展开介绍。...:str或list,与columns参数一一对应的结果列名称,当你想要自定义结果新列名称时这个参数就变得非常有用,默认为None func_desc:str型,可选参数,为你的函数添加说明文字,默认为None...参数为False,并将suffix参数设置为'_log': # 设置drop参数为False,并将suffix参数设置为'_log' pdp.AggByCols(columns='budget',...,新的列以旧列名+后缀名的方式被添加到旧列之后,下面我们修改result_columns参数以自定义结果列名: # 设置drop参数为False,并将suffix参数设置为'_log' pdp.AggByCols...,因此只能形成一列返回值),默认为'new_col' follow_column:str型,控制结果列插入到指定列名之后,默认为None,即放到最后一列 func_desc:str型,可选参数,为你的函数添加说明文字

    82810

    拆分列还能这样做?真是666!

    如果按照Excel的操作习惯,当然是先拆分列,然后逆透视…… 这个6,鼠标点点,一气呵成…… 不过,这有个小问题,拆分列的时候,Power Query会按照拆分出来的最大列数给出固定的列名...,比如这个动画例子里的客户经理,现在数据里最多的只有3个,那么拆分出来最多3列,列名被固定为“客户经理.1”、“客户经理.2”、“客户经理.3”,所以,如果后面有新的数据进来,客户经理更多了,就得不到完整的结果了...Text.Split将内容拆分成List,然后对List进行展开,这样,就能够确保后续在数据增加的情况下,仍然得到完整的结果,如下所示: 这个66,不过这有点儿太麻烦了,又要增加自定义列,...又要函数,还要展开数据…… - 方法 3 - 实际上,这个问题在Power Query里非常简单,因为,进行拆分时候,点开“高级选项”,你会发现,拆分列可以直接拆分到行!...拆分到行!!拆分到行!!!

    51730

    干货:用Python加载数据的5种不同方式,收藏!

    现在,在手动检查了csv之后,我知道列名在第一行中,因此在我的第一次迭代中,我必须将第一行的数据存储在 col中, 并将其余行存储在 data中。...逻辑 这里的主要逻辑是,我使用readlines() Python中的函数在文件中进行了迭代 。此函数返回一个列表,其中包含文件中的所有行。...对于第一次迭代,我将存储第一行,其中包含列名的列表称为 col。然后,我会将所有数据附加到名为data的列表中 。...哦,它已跳过所有具有字符串数据类型的列。怎么处理呢? 只需添加另一个 dtype 参数并将dtype 设置 为None即可,这意味着它必须照顾每一列本身的数据类型。不将整个数据转换为单个dtype。...比第一个要好得多,但是这里的“列”标题是“行”,要使其成为列标题,我们必须添加另一个参数,即 名称 ,并将其设置为 True, 这样它将第一行作为“列标题”。

    2.8K10

    服饰订单自动按照尺码和店铺级别分货到店

    一份到货分货条件,当该款货品到货12件以内时,只分到一家店铺;到货12-24件时分到2家店铺,以此类推。...1.将订单、分货级别和分货基础原则(店铺区间)导入Power Query 导入数据 2.对订单进行分拆 分拆的步骤可直接使用交互界面,为说明前后顺序,我使用高级编辑器对关键环节添加了注释(见"//"行...= Table.RemoveColumns(分货店铺数,{"订单数量"}), //逆透视列,将尺码变为竖排 逆透视列 = Table.UnpivotOtherColumns(删除的列,...这个货订单47件,按照条件优先分给了前4家店铺;并且A店分到的数量最多。...1)分货过于扁平化,A店尽管分到数量多,但是和D店区别不大。 2)没有考虑消费特性,全部按照从A店开始分。

    84210

    Python数据分析的数据导入和导出

    index_col:指定哪一列作为行索引。默认为None,表示不设置行索引。可以是整数(表示第几列)或列名。 usecols:指定要读取的列范围。可以是整数(表示第几列)或列名列表。...squeeze(可选,默认为False):用于指定是否将只有一列的数据读取为Series对象而不是DataFrame对象。 prefix(可选,默认为None):用于给列名添加前缀。...header:指定表格的表头行,默认为0,即第一行。 index_col:设置作为索引列的列号或列名,默认为None,即不设置索引列。 skiprows:指定要跳过的行数。...也可以自己指定需要保存的列名列表 header:是否保存列名,默认为True index:是否保存行索引,默认为True index_label:行索引列的列名,默认为None mode:文件打开模式,...保存列名,数据从第3行第2列开始,合并单元格,使用utf-8编码,使用pandas的默认引擎。

    26610

    教你用Python拆分表格并发送邮件

    周末看了「凹凸玩数据」交流群内Huang Supreme的分享,有一篇写到了日常拆表操作挺有意思的。...决定举一反三一下,ta拆成sheet,那我就拆成工作簿,如果能拆完直接发邮件给不同的人就更有意思了。 照葫芦画个瓢。...huang的拆表代码是我能找到的最简洁的了,ta首先用 ExcelWriter 生成一个拆完表后的容纳工作簿,然后调用了 For 循环对某一列进行遍历,area_list 取自表格的某一列,这一列有多少种因子...小提示:python对空格敏感,不信你把writer.save和上一行对齐看看效果是什么样的。 ? (大表) ?...建一个附件和收件人的索引,用之前给文件命名的变量j ,索引到收件人'Rec'列中'店铺'列等于 j的行。 最后构建邮件发送的函数,包括收件人、抄送人、附件、正文等,从拆分到邮件整个过程不超过1分钟。

    2K40

    这个插件竟打通了Python和Excel,还能自动生成代码!

    添加和删除列 添加列 就像在 Excel 等电子表格中一样,你可以添加一个新列,该列可能是从现有列或特征创建的。要在 Mito 中执行此操作,只需单击“Add Col”按钮。...该列将添加到当前选定的列旁边。最初,列名将是一个字母表,列的所有值都为零。 编辑新列的内容 单击新列名称(分配的字母表) 将弹出侧边栏菜单,你可以在其中编辑列的名称。...要更新该列的内容,请单击该列的任何单元格,然后输入值。你可以输入一个常量值,也可以根据数据集的现有特征创建值。如果要从现有列创建值,则直接使用要执行的运算符调用列名。...要使用 Mito 创建这样的表, 单击“Pivot”并选择源数据集(默认加载 CSV) 选择数据透视表的行、列和值列。还可以为值列选择聚合函数。...通常,数据集被划分到不同的表格中,以增加信息的可访问性和可读性。合并 Mitosheets 很容易。 单击“Merge”并选择数据源。 需要指定要对其进行合并的键。

    4.7K10

    Python求取Excel指定区域内的数据最大值

    本文介绍基于Python语言,基于Excel表格文件内某一列的数据,计算这一列数据在每一个指定数量的行的范围内(例如每一个4行的范围内)的区间最大值的方法。   ...已知我们现有一个.csv格式的Excel表格文件,其中有一列数据,我们希望对其加以区间最大值的计算——即从这一列的数据部分(也就是不包括列名的部分)开始,第1行到第4行之间的最大值、第5行到第8行的最大值...在每个分组内,我们从column_data中取出这对应的4行数据,并计算该分组内的最大值,将最大值添加到max_values列表中。最后,函数返回保存了每个分组最大值的列表max_values。   ...其次,我们通过excel_file指定输入的文件路径,通过column_name指定要处理的列名,随后即可调用calculate_max_every_eight_rows函数,并将返回的结果保存到result...可以看到,结果列中第1个数字,就是原始列中前4行的最大值;结果列中第3个数字,则就是原始列中第9行到12行的最大值,以此类推。

    21120

    AI办公自动化:Excel表格数据批量整理分列

    工作任务:下面表格中的,、分开的内容进行批量分列 在chatgpt中输入提示词: 你是一个Python编程专家,完成一个脚本编写任务,具体步骤如下: 读取Excel文件:""F:\AI自媒体内容\AI行业数据分析...\AI_Industry_Analysis - 副本.xlsx"" 读取A列单元格内容,删除单元格内容后面的数字,比如:单元格内容为“公司公告,国海证券研究所 61”,删除“61”; 对单元格内容进行分拆...”; 单元格分拆完成后,把所有分拆出去的单元格内容追加到A列当前内容的后面; 然后对A列数据进行分类汇总,汇总方式为计数,分类汇总结果保存到Excel文件:F:\AI自媒体内容\AI行业数据分析\AI行业数据来源...try: # 读取Excel文件 http://logging.info(f"读取 Excel 文件: {input_file}") df = pd.read_excel(input_file) # 检查列名并找到第一列...else: first_column_name = df.columns[0] http://logging.info(f"使用第一个列名: {first_column_name}") # 删除第一列单元格内容后面的数字

    14210

    整理了25个Pandas实用技巧(上)

    更改列名 让我们来看一下刚才我们创建的示例DataFrame: ? 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...'}, axis='columns') 使用这个函数最好的方式是你需要更改任意数量的列名,不管是一列或者全部的列。...最后,如果你需要在列名中添加前缀或者后缀,你可以使用add_prefix()函数: ? 或者使用add_suffix()函数: ?...我们以生成器表达式用read_csv()函数来读取每个文件,并将结果传递给concat()函数,这会将单个的DataFrame按行来组合: ? 不幸的是,索引值存在重复。...按列从多个文件中构建DataFrame 上一个技巧对于数据集中每个文件包含行记录很有用。但是如果数据集中的每个文件包含的列信息呢?

    2.2K20

    整理了 25 个 Pandas 实用技巧,拿走不谢!

    上述三个函数的结果都一样,可以更改列名使得列名中不含有空格: ? 最后,如果你需要在列名中添加前缀或者后缀,你可以使用add_prefix()函数: ?...我们以生成器表达式用read_csv()函数来读取每个文件,并将结果传递给concat()函数,这会将单个的DataFrame按行来组合: ? 不幸的是,索引值存在重复。...我们可以使用sample()函数来随机选取75%的行,并将它们赋值给"movies_1"DataFrame: ?...我们将会使用str.split()函数,告诉它以空格进行分隔,并将结果扩展成一个DataFrame: ? 这三列实际上可以通过一行代码保存至原来的DataFrame: ?...这里有两列,第二列包含了Python中的由整数元素组成的列表。

    3.2K10

    4GSQL资料爆肝分享|我的Mysql学习笔记

    第一时间接收最新Python干货! SQL是一个存活近半个世纪的语言,如今仍有大量人在使用。它语法简单,对培养数据整理和提取的思维有很大帮助。...表外创建 ALTER TABLE students ADD CONSTRAINT fk_tb2_tb1 FOREIGN KEY tb2(info) REFERENCES tb1(nid); 修改表属性 # 添加列...: ALTER TABLE 表名 ADD 列名 类型 # 删除列: ALTER TABLE 表名 DROP COLUMN 列名 # 修改列: ALTER TABLE 表名 MODIFY COLUMN...列名 类型; 一般只改类型 ALTER TABLE 表名 CHANGE 原列名 新列名 类型; 可改列名+类型 # 添加主键: ALTER TABLE 表名 ADD PRIMARY KEY(列名...); # 删除主键: ALTER TABLE 表名 DROP PRIMARY KEY; ALTER TABLE 表名 MODIFY 列名 INT, DROP PRIMARY KEY; # 添加外键

    1.1K20

    用过Excel,就会获取pandas数据框架中的值、行和列

    在Python中,数据存储在计算机内存中(即,用户不能直接看到),幸运的是pandas库提供了获取值、行和列的简单方法。 先准备一个数据框架,这样我们就有一些要处理的东西了。...请注意双方括号: dataframe[[列名1,列名2,列名3,…]] 图6 使用pandas获取行 可以使用.loc[]获取行。请注意此处是方括号,而不是圆括号()。...语法如下: df.loc[行,列] 其中,列是可选的,如果留空,我们可以得到整行。由于Python使用基于0的索引,因此df.loc[0]返回数据框架的第一行。...以下两种方法都遵循这种行和列的思想。 方括号表示法 使用方括号表示法,语法如下:df[列名][行索引]。这有时称为链式索引。...记住这种表示法的一个更简单的方法是:df[列名]提供一列,然后添加另一个[行索引]将提供该列中的特定项。 假设我们想获取第2行Mary Jane所在的城市。

    19.2K60
    领券