一个任务,需要用列图,先网上收集一些资料。 定义:用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。...我们可以这样去理解,用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。 ?...用例之间的关系: 包含关系:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系本质上是比较特殊的依赖关系。 ?...image.png 扩展用例可以在基用例之上添加新的行为,但是基用例必须声明某些特定的“扩展点”,并且扩展用例只能在这些扩展点上扩展新的行为。 机房收费系统的用列图 ? image.png ?...image.png 参考文章 用例图 【UML】— 用例图 用例图 初学UML——用例图 用例图怎么画
一、前言 前几天在Python铂金交流群【逆光】问了一个Pandas数据处理的问题,问题如下:请问 合并excel的两列,为空的单元格被另一列有值的替换。...【Siris】:你是说c列是a列和b列的内容拼接起来是么 【逆光】:是 【Siris】:那你其实可以直接在excel里用CONCAT函数。 【不上班能干啥!】:只在excel里操作,速度基本没啥改变。...pandas里两列不挨着也可以用bfill。 【瑜亮老师】:@逆光 给出两个方法,还有其他的解决方法,就不一一展示了。 【逆光】:报错,我是这样写的。...就是你要给哪一列全部赋值为相同的值,就写df['列名'] = '值'。不要加方括号,如果是数字,就不要加引号。 【逆光】:我也试过,分开也是错的· 【瑜亮老师】:哦,是这种写法被替换了。...【瑜亮老师】:3列一起就是df.loc[:, ['列1', '列', '列3'']] = ["值", 0, 0] 【不上班能干啥!】:起始这行没有报错,只是警告,因为你这样操作会影响赋值前的变量。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
现在已知一个Excel数据,假设其中W列包含了上海市全部社区的名称,而其后的Y列则是这些社区对应的面积;随后,Z列是另一批社区的名称,其中既有上海市的社区(也就是在W列中的数据),也可能会有其他城市的社区...我们希望,基于前面的W列与Y列,分别提取Z列社区对应的面积,存放在AA列里。如下图所示。 明确了需求,我们就可以通过Excel的公式来实现这一需求。...前面提到,我们需要从W列和Y列中分别找到对应的社区名称和社区面积,也就是从W2:Y53这个里面找;而其中,表示社区面积的那一列排在第3列,如下图所示;所以这里就是3。 ...其次,如下图所示,可以看到Z列中有一个品欣雅苑居委会,由于这个居委会在W列中不存在,所以其对应的AA列面积就是NA值。 ...如果不希望出现NA值,我们可以通过批量替换的方式,将Excel表格中的NA值替换为0或者其他值。 至此,大功告成。 欢迎关注(几乎)全网:疯狂学习GIS
有时候,我们会想将一个列中的值分成多列。...示例 例如某个列是这样的: 7890 – 20th Ave E Apt 2A, Seattle, VA 9012 W Capital Way, Tacoma, CA 5678 Old Redmond Rd
小勤:怎么把实际销售金额里空的数据用原单价来替代?即没有实际售价的使用原单价。 大海:这个问题好简单啊。添加一个自定义列,做个简单判断就可以了: 小勤:这个我知道啊。...但是,能不能不增加列,直接转换吗?比如用函数Table.TranformColumns?...大海:虽然Table.TranformColumns函数能对列的内容进行转换,但是它只能引用要转换列的内容,而不能引用其他列上的内容。...这种情况,需要用Table.ReplaceValue来替换值: 小勤:原来Table.ReplaceValue中的被替换值和替换值都能直接加公式啊? 大海:对的。...但就这个问题来说,其实还是直接添加自定义列的方式会更加直接,因为大多数朋友应该都很熟悉这种在Excel中常用的辅助列套路。
小勤:在Power BI里怎么增加一列? 大海:在Power BI里增加列有2种方法,一种是咱们在学Power Query里的“添加列”方法,还有一种是在PowerPivot里的新建“计算列”方法。...但在构造的时候是有以下差别的: 查询编辑器里添加列用的是Power Query的知识,一般情况下,Power Query在这方面的功能比较强一些,尤其是做文本的相关处理时。...而在Power BI Desktop里用新建(计算)的方式,使用的是Power Pivot中的相关方法,总体看来相对弱一些。...但是,新建计算列的方法有个好处,是可以直接引用计算度量的相关结果,这一点是用PQ添加列方法做不到的。 小勤:那该怎么决定到底用哪一种方法呢? 大海:我很少纠结这个问题,反正觉得哪个用起来方便就用哪个。...总的来说,我一般是除非要引用某些计算度量的结果或者是一些非常简单的计算列,绝大部分的时候我都是用PQ进行处理的。 小勤:嗯。我大概知道了。
一、前言 前几天在Python最强王者交流群有个粉丝咨询了这个问题:获取到数据表的列数比较简单,一般不超过99列,怎样能自动按列01 列02 最大为列99,来设置列标题?...二、实现过程 针对这个问题,【群除我佬】给了一个代码,如下所示: ["列0" + str(i) if len(str(i)) 列" + str(i) for i in range(1,100...)] 后来【~上善居士~ 郭百川】使用字符串格式化,也给了一个代码,如下所示: [f"列{i:02d}" for i in range(1,100)] 后来【Eric】也给了一个可行的代码,如下所示...: columns = [] for i in range(10): columns.append(f"列{i:02d}") print(columns) df.columns = ['00',...(str(i)) 列" + str(i) for i in range(1,df. shape[1]+1)] [f"列{i:02d}" for i in range(1,df.shape
本文通过一个例子,综合体现常用的删列、移列、添加索引列操作方法。数据样式及要求如下: 要求: 1. 删除状态列; 2....将货币列移动到合同总金额的后面; 3. 添加以1为起始的索引列。...Step-1:获取数据 Step-2:删除列 Step-3:移动列 Step-4:添加以1为开始的索引列 Step-5:上载数据
---------------+----------------------------+-----------------------------+ 二、函数介绍 explode split 三、列转行
前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题,提问截图如下:
原来是Groudhog类没有重写hashCode()方法,所以这里是使用Object的hashCode()方法生成散列码,而他默认是使用对象的地址计算散列码。...二、理解hashCode() 散列的价值在于速度:散列使得查询得以快速执行。...这个数字就是散列码,由定义在Object的hashCode()生成(或成为散列函数)。同时,为了解决数组容量被固定的问题,不同的“键”可以产生相同的下标。那对于数组来说?...也就是说,它必须基于对象的内容生成散列码。 应该产生分布均匀的散列码。如果散列码都集中在一块,那么在某些区域的负载就会变得很重。...final int SZ=3;//定一个初始大小的哈希表容量 private LinkedList[] linkedLists=new LinkedList[SZ];//建一个hash数组,用linkedList
碰到Null值时,会报错,因为none不可与str运算 解决如下,加入if判断即可
散列是一种用于以常数平均时间执行插入、删除和查找的技术。 每个关键字被映射到从0-TableSize-1这个范围中的某个数,并且被放到适当的单元中。...这种映射就叫做散列函数 我认为,先用散列函数将我们所要进行操作的集合整合成散列表,是对之后的操作的一种便利。放到实际中去,我们要进行操作的集合不仅仅只是数字,例如图书馆中的书籍分类等等。...我们可以通过某种规定,将每个关键字放到合适的为止上去,编写散列函数。但是难免会遇到两个关键词被单列到同一个值的情况,(称为冲突),如何解决冲突是一个很关键的问题,之后另开博。...} for(i = 0; i < 9; i++) //输出散列表 printf("%d ", b[i]); return 0; } 输出结果如图 如果关键字是字符串,另一个很容易想到的办法是将字符中的...设所有关键字最多8个字符长,由于char类型的值最多是127,因此这个散列函数之恩那个取值在0到27*8之间,若TableSize超过了1w,显然这并不是一种均匀的分配。
选择键值,冲突的时候采取不同的策略 散列函数: 简单的散列函数: 1 int hash(const string & key,int tableSize) 2 { 3 int hashVal =...key.length();++i) 5 { 6 hashVal + = key[i]; 7 } 8 return hashVal % tableSize; 9 } 比较好的散列函数...if(hashVal < 0) 6 hashVal += theLists.size(); 7 return hashVal; 8 } 使用name成员为键,提供的散列函数实例...= 0; 8 for(int i = 0 ; i < array.size(); i++) 9 array[i].info = EMPTY; 10 } 使用平方探测进行散列的...对分离散列表的再散列 1 void rehash() 2 { 3 vector oldArray = array; 4 array.size(nextPrime
和上面的解决方案是一样的,自己动脑筋哦 下面的overflow的方式 display:table和flex大家自己练习。
上次讲到了列类型的枚举类型,那么接下来还有集合记录长度,列属性倒不是特别多,也就有空属性,列描述以及默认值,所以学起来也是超快~ 集合字符串 集合跟枚举实际上很类似,实际上存储的是数值,而不是字符串(集合可以多选...下面可以开始讲述列属性的三个小部分啦~ 列属性 是真正约束字段的数据类型。...列属性有很多:NULL/NOT NULL,default,primary key,auto_increment,comment(描述表的字段) 这里讲到的是空属性,列描述和默认值。...列描述(注释) 列描述:comment,起描述作用,无实际意义。是专门用来描述字段,根据表的创建语句一起保存的。...当数据很相似时,数据管理员不怎么方便查看,这就给数据库管理员带来了麻烦,那么列描述的作用就显现出来了。
------------+----------------------------+-----------------------------+ 二、函数介绍 split posexplode 三、列转行...| 0 | 0003 | | r003 | 1 | 0007 | +-----------+------+-----------+ 上面可以看到,pos列是...2、posexplode 同时处理两列 使用posexplode同时对order_list 和 distance_list 进行炸裂处理 执行SQL select rider_id, t2.pos, t2...0007 | 1 | 8.11 | +-----------+------+-----------+---------+-----------+ 可以看到结果中,两列均炸开了...3、查询结果 增加对payment_list的处理,select 去掉pos相关列,得到最终结果 执行SQL select rider_id, order_id, t3.distance, t4.payment
: Address=Hash( ) 需要解决两个问题: 找到一个合适的散列函数,避免或尽量减少冲突 拟定解决冲突的方案 散列函数 取余法 散列表中地址数位m, p为不大于m但最接近m的质数....注意:闭散列情况下不能真正地将已有的元素删去, 因为中间的元素被删掉后会影响到之后元素的探查. 所以用一个状态数组来标识哈希表中每个元素的状态....二次探查法 若用hash函数算得的桶 H_0 已经被占用,那么下 i 个桶号 H_{i}: 假设上一个桶号为 H_{i-1},用一个标识 odd 控制是加还是减, 可得 H_{i}:...如果hash1(key)计算得到的桶号d已经被占用, 那么用第二个散列函数hash2(key)计算得到 c, 则依次探查 d+c,d+2c,d+3c…....再散列 当表项数>表的70%时, 可以再散列. 即, 建立一个两倍大的表, 新的散列函数取距离原规模两倍大小最近的素数. 处理冲突的开散列(链地址)方法 将同义词放入同一个桶.
逆透视列操作主要针对的是有多列数据的表单,这类表单的特点是一般有一个主列,该列中数值多数情况下都是非重复值;而其他数据列类型基本相同,其数值都是对主列中数据某一属性的描述。...对于这种有一定汇总关系的表单,可以将主列外的其他多列数据合并成一个列,即将列转换成行,然后将主列中原始值扩展成多个重复数值与合并后的新列产生对应关系,以便进行后续分析计算。...逆透视列/逆透视其他列选项和仅逆透视选中列选项的区别在于,当有新的列添加到表单中时,逆透视列和逆透视其他列选项拥有自动将新列进行逆透视操作的能力,而仅逆透视选中列选项则不会对新列进行处理。...因此,当数据源中出现新列时,也不会被进行逆透视操作。 2 透视列 透视列操作是将列下所有的N个非重复数据转换成N个新列,然后对原始数据进行汇总合并来计算新列中的每一行值。...Power BI会提示季度列中的内容会被用来创建新列,值列所选择的销售额则会根据季度列中的内容进行聚合求和操作来生成相应的列值。
领取专属 10元无门槛券
手把手带您无忧上云