df.info() 5-查看数据统计信息|数值 查看数值型列的统计信息,计数,均值 df.describe().round(2).T 6-查看数据统计信息|离散 查看离散型列的统计信息,计数,频率 df.describe...|频率 计算不同行政区(district),不同规模公司(companySize)出现的次数 df.groupby(['district','companySize']).size() 5 - 分组统计...'].value_counts()).rename_axis(["行政区", "公司规模"]) 6 - 分组统计|计数 计算上一题,每个区出现的公司数量 df.groupby('district')['...).get_group(('西湖区',30000)) 9 - 分组规则|通过匿名函数1 根据 createTime 列,计算每天不同 行政区 新增的岗位数量 df.groupby([df.createTime.apply...('电商').sum()) 11 - 分组规则|通过内置函数 通过 positionName 的长度进行分组,并计算不同长度岗位名称的薪资均值 df.set_index('positionName').
- 1 - 直接分组法 直接分组法很简单,就是直接选中“型号”和“序号”列,然后“分组”,在分组里通过多次“添加聚合”,完成对每个日期列的求和: 这种方法从理解上来说最简单,而且,经测试,也是运行效率最高的...因为每个日期作为一列的数据,从数据建模的角度来说,一般建议转换为每一行(逆透视),后续也没有必要进行汇总后横着放。...Step-01 选定“型号”和“序号”列,单击“逆透视其他列”: Step-02 选定“型号”、“序号”和“属性”(日期)列,分组对“值”列求和: Step-03 选择“属性”列,单击“透视列”,在值列中选择...“计数”列即可: - 4 - 逆透视再透视法 这个特定的场景,完全可以逆透视后,再直接在透视时进行聚合,所以,上面方法中的分组步骤,其实是多余的。...具体操作步骤如下: Step-01 选定“型号”、“序号”两列,单击“逆透视其他列”: Step-02 选择“属性”列,单击“透视列”,在弹出的对话框中选择“计数”列作为值列(此时默认为求和,无需多余操作
image.png 【面试题】 某线上学习平台设置学员线上学习阶梯,新学员购买50节课为一个学习阶段,学习完想要进入下个阶段必须再次购买,即续费(假设所有学员只能续费一次)并且每个学员可选择不同老师进行学习...这涉及到计算两个日期之间的差值,《猴子 从零学会sql》里讲到对应的函数是timestampdiff。下图是这个函数的用法。...image.png 用case语句来判断,新增一列为“续费前3个月数”。如果(上课时间-续费时间)列中对应的值标记为1。否则标记为null。...当有“每个”出现的时候,要想到《猴子 从零学会SQL》中讲过的用“分组汇总来”来实现。 按老师id分组(group by ),汇总续费前三个月课程量(计数函count)。...又涉及到分组,又涉及到排名的问题,要想到用《猴子 从零学会SQL》里讲过的窗口函数来实现。
SELECT 基本查询语句 查询单个列 #查询Author表name列的值 select name from Author; 查询多个列 #查询Author表id,name两列的值 select id,...name from Author; 查询所有列 #查询Author表所有列的信息 select * from Author; 查询不同的行(distinct去重) #查询Article表所有作者 select...5; with rollup实现在分组统计数据基础上再进行统计 #将Article按author进行分组,再统计每个人的总文章数 select author,sum(articles) as '总文章数...by type desc ; #COUNT()函数返回某列的行数 #COUNT(*)对表中行的数目进行计数, 不管表列中包含的是空值( NULL)还是非空值 #统计类型总数 select count...(*) from Article; #COUNT(column)对特定列中具有值的行进行计数,忽略NULL值 #统计文章数 select count(articles) from Article;
编辑:王老湿 知识清单 数据分组 创建分组(GROUP BY) 之前学到的筛选操作都是基于整个表去进行的,那如果想要依据某列中的不同类别(比如说不同品牌/不同性别等等)进行分类统计时,就要用到数据分组...子查询与临时表格 我们之前所涉及到的都是从数据库中检索数据的单条语句,但当我们想要检索的数据并不能直接从数据库表中获取,而是需要从筛选后的表格中再度去查询时,就要用到子查询和临时表格了。...(’y’)进行了分组,并按由大至小的顺序排序,取前10组数据。...POSITION 和STRPOS 可以获取某一字符在字符串中的位置,这个位置是从左开始计数,最左侧第一个字符起始位置为1,但他俩的语法稍有不同。 SUBSTR可以筛选出指定位置后指定数量的字符。...子句 说明 是否必须使用 SELECT 要返回的列或表达式 是 FROM 用于检索数据的表 仅在从表中选择数据时使用 JOIN…ON… 用于链接表 仅在需要链接表时使用 WHERE 过滤行数据 否 GROUP
列表是同类记录的集合,作为列表中的行的记录,有同样的结构,结构由完全不同的属性构成。从透视表的表头来看,它并不满足属性不同的特质。...选择 “Sales” 表中的任意一个单元格,【插入】【数据透视表】【现有工作表】【位置】在工作表的 “F1” 中(光标放在【位置】下面,鼠标选择 “F1”)。...就像在 Excel 数据透视表中一样,会发现默认值是数字列的【求和】和基于文本列的是【计数】。但与 Excel 不同的是,还会发现一个【不要聚合】 的选项,将在本书后面的章节中将使用这个选项。...与其他基于【数字筛选器】不同,这些筛选器是相对于系统中的当前日期 / 时间的。...在对话框底部的聚合部分进行如下操作。 将【新列名】从 “计数” 更改为 “Total Sales $”。 将【操作】从【对行进行计数】更改为【求和】。
图1:案例数据 以上图中数据来算,我们可以看到从1月21日-1月26日空气质量连续污染持续了6天。 不过,在实际的数据处理中,我们的原始数据往往会较大,并不一定能直接看出来。...思路1:按时间排序求差值再分组计数 才哥上次的解法就是这种思路,回看当初的代码显得比较稚嫩,今天我们看看小明哥的解法,非常精彩。...图5:辅助列 步骤3:分组计数获得连续天数,分组求最小最大值获得连续 污染起止日期 t.groupby(groupids).agg({ 'time': lambda x:f'{x.min()}~...图7:辅助列值预览 我们可以发现,按照辅助列分组进行计数即可获得连续污染天数,如上红色标记区域。...图9:辅助列创建思路预览 我们也可以发现,按照辅助列分组计数即可获取空气质量连续天数(优良和污染均可),如上红色区域。
3.确定范围(全匹配) 4.确定集合(全匹配) 5.模糊查询(部分匹配) 6.空值查询 统计汇总查询 分组查询 排序查询结果 单关系(表)数据查询结构 查询结果仍为表,WHERE、SELECT 分别相当于关系代数中的...计算成绩表中学生年龄,并用学号、姓名、年龄做表头 方法:当前日期减去生日日期求得年龄,用别名修改生成表表头信息 use db_student20 select sno as 学号,sn as 姓名,...求列最大值 MIN 求列最小值 COUNT 按列求个数 count(*) 对表中数目进行计数,无论是否为空 count(colum) 对特定列中具有的值计数,忽略 NULL 查询学号为 XXX 的学生总成绩和平均成绩...select 中既有基本字段又有聚合函数时需要 group by,否则将会出现语法错误 空值作为单独分组返回值 查询选修两门课以上课程的学生学号和选课总数 select sno,COUNT(*)...,选修 c10 课程的学生学号,并按成绩降序排列 select sno,score from tb_score where (cno='c10') order by score DESC 成绩表中,查询选修
在葡萄城ActiveReports报表中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组、排序、过滤、小计、合计等操作,可以满足您报表的智能数据分析等需求。...在矩阵控件中组的行数和列数由每个行分组和列分组中的唯一值的个数确定。同时,您可以按行组和列组中的多个字段或表达式对数据进行分组。...我们这里将要演示的是产品销售数据分析表,列分组按照产品类别和产品名称进行分组;行分组按照年和月进行分组,并对销量大于2000的数据进行高亮显示,以下是详细实现步骤: 1、创建报表文件 在应用程序中创建一个名为...rptCrossTable1.rdlx 的 ActiveReports 报表文件,使用的项目模板为葡萄城ActiveReports报表页面报表,创建完成之后从 VS 的报表菜单项中选择转换为连续页面布局...分组:=[产品名称] 表达式:=[产品名称] 完成以上设置之后回到报表设计界面,选中数据单元格 TextBox4 ,在属性窗口的命令区域中点击属性对话框命令,并按照以下表格设置数据单元格的属性
4.生成周列表 下面在数据分析表中我们新建一列日期,使这列日期的每一行数据代表了一周的时间段。而这列日期的区间就是从产品的筹备日期开始到产品的下市日期,即产品的全生命周期。...此步骤也是添加条件列的方法:在Power Query中点击添加列中的条件列,并按下图填好。...6.生成阶段计划表 在这个案例中需要展现一个甘特图,而甘特图所展现的特征就是不同的项目在不同的时段分别所处的进度/阶段,这就需要我们抓住这几个维度的数据进行整理。...并将数据分析表中的项目阶段&产品名称拖入行,将年拖入列,将周列表拖入值并点击下拉菜单选择“计数”。 此时一个完整的体现各个项目各个阶段所需周别(资源)的表格完成,此表格将跟随数据源变换而变化。...再进一步,如果新产品有上百种,项目计划分了10多个阶段并且每个阶段的工作量权重不同,只要在此基础上新生成一列权重,并生成资源计算公式的度量值去代替周列表的计数即可。
使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息、分析结果以及摘要数据。...什么时候用数据透视表 找出同类数据在不同时期的某种特定关系 以简洁友好的方式,查看大量的表格数据 对数值数据快速分类汇总,按分类和子类查看数据信息 建立交叉表格,将行移动到列或将列移动到行,以查看数据源的不同汇总...数据源需要们组一定的规则才能成为一个合法的数据源,详细规则如下: 每列数据的第一行是该列的标题 数据源不能包含空行和空列 数据源不能包含空单元格 数据源中不能包含合并单元格 数据源中不能包含同类字段...使用透视表,只需要简单几步,即可完成报告的生成,再也不需要苦哈哈的手动去统计数据,之后再制作报表了。首先,我们基于销售历史数据生成一张透视表,并按照销售日期等维度制作一张基础透视表。...接下来,我们对日期创建组,实例中以月维单位,实际项目中,可以根据实际需求,按照季度等其它单位创建组。 透视表在实际业务中应用广泛,也可应用于报表的合并分析及拆分。
4.数据分组 Excel中可以通过VLOOKUP函数进行近似匹配来完成对数值的分组,或者使用“数据透视表”来完成分组 Python中使用Where函数用来对数据进行判断和分组 #如果price列的值>3000...还可以对多个字段的值进行判断后对数据进行分组,下面的代码中对city列等于beijing并且price列大于等于4000的数据标记为1。...Reset_index函数用于恢复索引,这里我们重新将date字段的日期 设置为数据表的索引,并按日期进行数据提取。 #重设索引 df_inner.reset_index() ?...2.按位置提取(iloc) 使用iloc函数按位置对数据表中的数据进行提取,这里冒号前后 的数字不再是索引的标签名称,而是数据所在的位置,从0开始。...相当于Excel中的countifs函数的功能 #对筛选后的数据按city列进行计数 df_inner.loc[(df_inner['city'] !
INSERT INTO:使用INSERT INTO语句将数据插入到Hive表中。INSERT INTO语句可以从其他Hive表或查询结果中选择数据并插入到目标表中。...使用ETL工具(如Sqoop)导入数据到HDFS,然后在Hive中创建表并将数据从HDFS加载到表中。...这些方式提供了不同的灵活性和功能,根据具体的场景和需求,可以选择合适的方式来导入数据到Hive表中。 四、Hive中的表有哪几种?分别有哪些应用场景?...桶表(Bucketed Table): 特点:桶表是根据表的列值进行哈希分桶,将数据分布到不同的桶中。桶表可以提高数据查询的性能,特别是在进行数据聚合操作时。...外部分区表(External Partitioned Table): 特点:外部分区表是外部表和分区表的结合,数据存储在外部存储系统中,并按照分区的方式进行组织。
//登录,在shell中使用 mysql -u username -p //显示所有数据库 show databases; //选择数据库 use mydb; //显示所有数据表 show tables...`add_column` VARCHAR(256) COMMENT '添加的列' after device_id; //表添加主键 Alter table tb add primary key(id)...,必须通过修改语句修改字段or表名。...from_unixtime(unix_timestamp, format) 我们经常在数据库中以时间戳的形式保存时间,这样很方便,但是存在一个问题,查询出来的时候我们看不懂当前记录是哪一天的,因此MySQL...数据库存的是每一条记录的时间戳,但是查询需求需要按照日期分组,所以首先将时间戳除以1000拿到秒级时间戳,然后拿到日期字符串并截取日期部分,拿到类似于2018-10-11的字段并按照他分组计数。
表 自定义样式 新版本中,SpreadJS 允许用户自定义表格样式 集算表 预定义列 SpreadJS 集算表新版本支持添加、更新和删除具有有意义的列类型的列,以帮助轻松设计表格。...列类型如下: 列类型 数据类型 描述 数值 数值 用于大多数具有指定格式的数值 文本 文本 用于常见文本 公式 取决于结果 根据记录中的其他字段计算值 查找 取决于相关字段 查找相关记录中的特定字段 日期...日期 便于输入日期值 复选框 真假 用于选中/取消选中,数据类型为 TRUE/FALSE 选择框 取决于选项 从预设列表中选择选项 Currency 数值 以文化格式指示货币 百分比 数值 以百分比格式指示数字...数据透视表分组兼容性更新 Excel 更改了数据透视表中的分组方式,因此我们更新了 SpreadJS 数据透视表的分组策略以匹配。...例如,如果原始字段是“battleDate”,并按年份分组,生成的字段将命名为“年份(battleDate)”。 原始字段类型 当一个字段被分组时,它被视为一个分组字段。
FROM: 数据来源的表。 WHERE: (可选)筛选条件,用于过滤要分组的数据。 GROUP BY: 指定分组的列。查询结果将按照这些列中的值进行分组。...orders GROUP BY order_date, customer_id; 在这个例子中,订单表按照订单日期和客户ID进行了分组,并计算了每个组的订单总额。...你想要按照产品ID分组,计算每个产品的总销售数量,并按照总销售数量降序排序。...4.2 GROUP BY 与 ORDER BY 的区别 GROUP BY 和 ORDER BY 是 SQL 查询中两个不同的子句,它们有着不同的作用: GROUP BY: 作用: GROUP BY 用于对查询结果进行分组...ROLLUP 会生成包含从最精细到最总体的所有可能的组合的聚合结果。
-- $分组查询(关键字:group by) -- 跟随聚合函数使用:group by(被分组的列名); -- select查询时,被分组的列要出现在select选择列后面; -- ↓按照列2的相同内容对列...列2 like '%张三%' group by 列2 order by sum(列1) desc; -- 按照列2中的'张三'内容对列1进行求和并按降序显示; -- +可以用as临时命名一个函数[sum...是在分组后对数据进行过滤 -- where 是在分组前对数据进行过滤 -- 在之前的例子中:我们要对已经得到的数据再进行一个筛选: -- 比如说在得到的数据中,我们只需要列1大于18的所有值,这是在代码后再加一个...2中的'张三'内容对列1进行求和并按降序显示且只显示 sum(列1) 的值大于18的内容; -- $分组查询:(关键词:limit x,y) -- x:表示从第几行开始显示(不包括x行,x为0时,可省略不写...LENGTH('text'),LENGTH('你好'); -- 注意:编码方式不同字符串的存储长度就不一样(‘你好’:utf8是6,gbk是4) -- CHAR_LENGTH(str):返回字符串中的字符个数
我觉得数据透视表就是一个快速分组,并基于分组个性化计算的神器。...接着就是选择数据透视表存放的区域,默认是新工作表,大家在实践中也可选择现有工作表的区域。 ? 始的透视表什么都没有,大家注意右侧的“数据透视表字段”区域,这里是控制透视表的核心地带。...左侧数据透视表结构区域随着我们的拖动发生了变化,刚才我们把日期拖动到行,把省份移动到列,果然,数据透视表布局和我们操作一毛一样: ? 等等!...那是因为,我们源数据格式是酱紫的,数据透视表分组逻辑是判断是否唯一,如果唯一则单独分为一行(或一列),想要把行标签的日期格式变成月的维度,也HIN简单。...起始时间默认是源数据中最早和最晚时间,这里不用更改,“步长”就是选择以什么时间维度去分组,我们想以月的维度创建分组,所以选择“月” ? 这透视表分组,如你所愿了,行是月份,列是省份。
原表: ? 目标表: ? 案例模拟文件下载 http://gofile.me/4KHV7/SUo5ywXxC 我们来分享下不同思路的处理方式。 先展示一下网友蜗牛给的答案。...(一) 通过分组后逆透视后再用透视还原来完成。 1. 增加列判断归属,并向下填充。...分组并进行内部计算 Table.Group(向下填充, {"自定义"}, {"计数", each Table.UnpivotOtherColumns...通过转换得到错误的值并用错误值替换的方式来命名日期列的标题。...到这一步,分组内的计算完成。 3. 展开,重命名,调整数据类型 ? 4.
领取专属 10元无门槛券
手把手带您无忧上云