M函数
用鼠标操作的步骤背后的逻辑都是M函数,在编辑器里都会有体现出来,选中左侧的表名称,点击右键,选择高级编辑器,就会进入到高级编辑器界面,里面会显示每一步的操作步骤。
M函数基本规范
M函数对大小写敏感,每一个字母必须按函数规范书写,第一个字母都是大写
表被称为Table,每行的内容是一个Record,每列的内容是一个List
行标用大括号{ },比如取第一行的内容:=表{0} //PQ的第一行从0开始
列标用中括号[ ],比如取自定义列的内容:=表[自定义]
取第一行自定义列的内容:=表{0}[自定义],使用的时候必须遵循规范。DataFrame对象的取值是先列后行。
常用的M函数:
点击主页–新建查询–新建源,点击空查询进入到查询语句界面,输入查询语句 =#shared ,回车后就会显示常见的M函数,单击某个函数,就会弹出示例,输入参数进行简单的调用。 ● 聚合函数 ○ 求和:List.Sum() ○ 求最小值:List.Min() ○ 求最大值:List.Max() ○ 求平均值:List.Average() ● 文本函数 ○ 取文本长度:Text.Length() ○ 取文本空格:Text.Trim() ○ 取前n个字符:Text.Start(文本,n) ○ 取后n个字符:Text.End(文本,n) ● 提取数据函数 ○ 从Excel表中提取数据:Excel.Workbook() ○ 从Csv/Txt中提取数据:Csv.Document() ● 条件函数 ○ if else then
数据建模
数据建模使用的语言为DAX函数。PowerBI 的数据建模是利用Excel的Power pivot插件,已经内嵌到PowerBI 的桌面版中,两者的功能基本相同,透视表只能从单个表中取出数据。若要把其他表中的数据也放进来就要用到VLOOKUP函数,把其他的表合并进来,再把字段放到透视表中,这些在Excel中都可以实现。如果设计的数据量比较大,数据维度很多的话,Excel就不能满足需求,而PowerBI可以从多个表格、多种来源的数据中根据不同的数据维度,不同的逻辑来整合、聚合数据。
数据建模基础
加载数据建模示例文件,产品明细表中显示的电子产品的专卖店销售的产品为手机、电脑、平板,每一类又来自三种不同的品牌。不同的产品不同的类别,共有9个产品。销售明细表记录的是产品每一天的销售数据,类别表中的产品类别、品牌表中的品牌名称分别跟产品明细表中的类别和品牌是相互对应的,产品明细表中的产品编号和销售明细表中的商品编号进行对应。
产品明细表
类别表
品牌表
销售明细表 可以在左侧的模型中建立关系,如果两个表的字段名称,字段内容都一样的话,会自动创建关系,如产品明细表和销售明细表的产品名称会自动创建关系,用线进行了连接。双击关系连接线,会弹出编辑关系的对话框,建立数据模型。 依次将类别表中的产品类别和产品明细表中的类别、品牌表中的品牌名称和产品明细表中的品牌依次建立联系。 基数 :两个连接字段的对应关系,其实为两个表的字段建立关联。 学生表 (学生id 学生姓名) 课程表 (课程id 课程名) 成绩表 (学生id 课程id 分数) 班级表 (班级id 学生id) ● 多对一 一个班级包含了很多学生 ● 一对多 很多学生都在一个班级 ● 多对多 一门课对应多个学生选择 一个学生也可以有多个课程可以选,学生表和课程表之间的关系。 ● 一对一 一门课程应该对应一个分数,成绩表和课程表之间的关系。
交叉筛选方向:表示数据筛选方向 ● 单向:一个表只能对另一个表筛选,而不能反向 ● 双向:两个表可以互相筛选
度量值
度量值用于一些最常见的数据分析。 简单汇总(如总和、平均值、最小值、最大值和计数)可以通过“字段”选项进行设置。 度量值的计算结果也始终随着你与的报表的交互而改变,以便进行快速和动态的临时数据浏览。度量值不是一列,与增加列很相似,是放在虚拟内存中的值,值会随着筛选的数据进行更改 。 根据建立的数据模型来做数据分析,统计各个品牌的销售额。销售额无法通过单一的一张表得到,在销售明细表中点右键,选择增加度量值,名称为销售金额,内容为 =SUM(‘销售明细’[销售额]),在右侧的字段里,会出现销售金额的字段名,图表跟正常的字段名不一样。 这时销售金额在表中看不到数据,可以切换到报表界面,可视化生成视觉对象中选择卡片图,把字段中的销售金额添加到可视化对象中的字段中,显示销售金额的值。 销售金额为销售列累计求和的值,不算是单独的一列,对原数据没有影响,只是一个度量值,是虚拟汇总的结果,一直在内存当中可以快速和动态的进行修改的临时数据,如果不保存的话,软件关闭,度量值就会消失。有时候要求人均的消费金额,平均金额等,但是又不想去新增加一列数据,就可以以新建度量值的方式进行简单的数据汇总,便于我们在画布中看到汇总的数据信息。 在报表界面新增切片器,把品牌表中的品牌名称放到切片器的字段里,不进行选择的时候,显示为总的销售金额,选中某一个框就显示某一个品牌的销售金额。 度量值会跟随报表的交互而改变得到的结果。 度量值是通过大量的公式来建立的虚拟字段的数据值,不会影响到原数据,也不会改变数据建模。把它放到报表上进行交互的时候就会体现它巨大的功能,也可以跟随切片器进行变化,度量值可以根据DAX函数来创建的,也被称为移动的公式。 销售总金额,日期数据里有层级结构的,可以在日期数据中选择年,月份的数据,这里的月份指的是每一年1月份的销售总额,可以新建一个切片器进行筛选。 也可以选择日期层次结构进行依次展开,分别显示获取的数据。 增加门店城市和日期表,建立关系如下图所示: 新建度量值是在表中建立的,后期建立的度量值比较多的话,需要一个表一个表的展开,不容易查找,可以新建一张表,所有的度量值都放到这张表里,便于管理。 在主页选项卡下,计算选项组中,新建表选项,新建一张表,表名为度量值,在度量值表处点右键,新建度量值,输入 销售总额 = SUM(‘销售明细’[销售额]) ,输入回车;依次创建本年和上一年的销售额,本年累计销售额 = TOTALYTD([销售总额],‘日期表’[日期]);上年累计销售额 = TOTALYTD([销售总额],SAMEPERIODLASTYEAR(‘日期表’[日期]))。TOTALYTD指的是从年初到本月的金额,实现的是累加,SAMEPERIODLASTYEAR返回的是上一年同期的日期表, 新建度量值 累计同比增长率 = DIVIDE([本年累计销售额],[上年累计销售额])-1 把上述新建的度量值放到矩阵里,就可以得到累计的销售同比增长率,增加年度、门店城市、品牌名称切片器可以更加精准的分析。 通过创建的4个度量值来实现了多种维度数据的比较,利用上下文的内容进行筛选,上下文指的是度量值所处的环境。北京2017年截止5月的苹果手机累计销售额,上下文数据指的是北京市、苹果品牌、手机、年度为2017、月份为5月份这五个维度。上下文环境不同,所展示的数据也不一样。度量值不会浪费内存,只有被拖拽到图表上才会执行运算,度量值可以循环使用。
DAX
DAX指的是数据分析表达式,从数据分析的层次上认识公式。数据分析从茫茫的数据中提取有用的信息,执行一定的运算并得出结论的过程。DAX的主要功能也是查询和运算,负责筛选出来有用的数据集合,再利用聚合函数执行的计算。度量值的计算依赖于上下文,上下文又分为外部上下文(可以看的见的筛选条件,标签、切片器等)和内部上下文(创建度量值的公式),查询、筛选函数可以扩大、限制、重置等。度量值是PowerBI建模的灵魂,DAX是度量值使用的灵魂。数据建模重要的是度量值,度量值重要的是DAX公式。它的使用范围可以在Power BI 的数据建模,除了创建度量值,也可以新建列。 在日期表中增加列,选择表工具选项卡下计算选项组中的 新建列,输入 月份 = FORMAT(‘日期表’[日期],“MM”),这里引用的表用单引号,引用的列用方括号,引用字符串用双引号,两个M表示两位数。 但是不建议在此处增加列,可以在转换数据,Power Query界面增加列。
DAX 参数的基本格式
● 表名用单引号’ ',如 ‘日期表’ ● 字段用中括号[ ],如[日期] ● 度量值也是用中括号[ ] ● 引用字段始终要包含表名,用以和度量值(前没有表名称)区分开
聚合函数
这几个函数的使用跟Excel中一样。 ● SUM ● AVERAGE ● MIN ● MAX 这几个函数可以循环访问表的每一行,并执行计算,迭代函数 ● SUMX ● AVERAGEX ● MINX ● MAXX ● RANGX 其他聚合函数 ● COUNT: 计数 ● COUNTROWS: 计算行数 ● DISTINCTCOUNT: 计算不重复值的个数
时间函数 ● PREVIOUSYEAR/Q/M/D:上一年/季/月/日 ● NEXTYEAR/Q/M/D:下一年/季/月/日 ● TOTALYTD/QTD/MTD:年/季/月初至今 ● SAMEPERIODLASTYEAR:上年同期 ● PARALLELPERIOD:上一期 ● DATESINPERIOD:指定期间的日期
筛选函数 ● FILTER:筛选 ● ALL:所有值,可以清除筛选 ● ALLEXCEPT:保留指定列 ● VALUES:返回不重复值
常用的DAX函数
CALCULATE函数
语法: CALCULATE(,,…
) ■ 第一个参数是计算表达式,可以执行各种聚合运算 ■ 从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔 ■ 所有晒选条件的交集形成最终的筛选数据集合 ■ 根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果 求每一种产品的数量。 新建度量值,产品数量 = COUNTROWS(‘产品明细’) 。 使用CALCULATE函数创建度量值,产品数量1 = CALCULATE([产品数量])。在这里 [产品数量] 等效于 COUNTROWS(‘产品明细’) 求苹果的品牌有几种。 新建度量值, 产品数量2 = CALCULATE([产品数量],‘产品明细’[品牌]=“苹果”),只筛选品牌为苹果的产品,限制了外部的上下文,只计算筛选内容数据的计算。 新建度量值,产品数量3 = CALCULATE([产品数量],ALL(‘产品明细’)),筛选条件选择的是ALL函数,清除产品明细表中所有的筛选,显示的9为所有产品的数量,增加切片器,不会影响统计结果的变化。 计算每种数量占总产品数量的比重。 新建度量值,产品占比 = [产品数量]/[产品数量3],产品数量3 不会受外部数量的影响,好比除的是固定的值 一样。 新建度量值,产品数量4 = CALCULATE([产品数量],ALL(‘产品明细’[产品名称]),‘产品明细’[类别]=“手机”)。先用ALL清除了外部的上下文筛选的影响因素,增加筛选条件查询类别为手机的产品数量,从所有产品中统计了类别为手机的产品的数量,每行的结果返回都是3。
FILTER函数
主要是用于筛选,语法 FILTER(,) ■ 第一个参数是要筛选的表 ■ 第二个参数
是筛选条件 ■ 返回的是一张表,不能单独使用,需要与其他函数结合使用 比较简单的筛选就没必要用FILTER函数。 新建度量值,产品数量5 = CALCULATE([产品数量],FILTER(ALL(‘产品明细’[品牌]),‘产品明细’[品牌]=“苹果”)),筛选的结果和产品数量2一样。 找出销售额超过2000万的城市的销售金额。新建度量值,销售金额大于2000万的城市的销售额 = CALCULATE([销售总额],FILTER(ALL(‘门店城市’),[销售总额]>20000000))。
HASONEVALUE
HASONEVALUE(
),返回值为True或者False
参数只有一个,为列名;
作用:判断外部上下文中是否为该列中的唯一值,做切片器交互时十分有用。 不显示明细项的值。新建度量值,方法1 = IF(HASONEVALUE(‘产品明细’[产品名称]),BLANK(),[销售金额大于2000万的城市的销售额]),实现的效果不显示当前的细分项,只显示最后的总结果值。 不显示总计值,只显示明细项的内容。方法2 = IF(HASONEVALUE(‘产品明细’[产品名称]),[销售金额大于2000万的城市的销售额],BLANK()),实现的效果是只显示当前的明细项,不显示总计的结果。
SUMX 函数
SUMX(,),总计项为各明细项之和。该函数为迭代函数,可以对表进行逐行的运算。
第一个参数为被运算的表 table
第二个参数是对表中的每一行计算的表达式 新建度量值,方法3 = SUMX(‘产品明细’,[销售金额大于2000万的城市的销售额]),实现的功能是总计项为各个明细项目的和。 SUMX函数可以代替CALCULATE函数,来实现方法3的效果。新建度量值,SUMX方法 = SUMX(‘产品明细’,SUMX(FILTER(ALL(‘销售明细’[门店城市]),[销售总额]>20000000),[销售总额])),实现的效果和方法3类似,没有用到之前“”“大于2000万的城市的销售额”的度量值,但是对内存的消耗比较大。在实际分析中遇到相似的情况可以根据具体的逻辑关系和展现出来的需求来选择不同的方式来进行处理。
EARLIER函数
之前使用Power BI 进行数据分析的时候都是对整列字段进行的操作,并没有做更细分的分析,如果要分析数据的每一行,提取每一行的数据,在Excel中是比较容易实现的,Excel是对单元格的操作,也可以借助EARLIER函数来实现。 EARLIER(,
)
第一个参数是列名称
第二个参数一般可以省略
EARLIER函数提取本行对应的该列的值,实际上就是提取本行和参数列交叉的单元格 该函数是指定上下文重要的工具。 导入订单表,点击主页,查询选项组中转换数据,进入Power Query界面,选择添加列选项卡下常规选项组中的索引列,选择从1开始的,更改名称为序号。选择主页,关闭并应用。 求两个订单的时间间隔,从下一个订单的日期减去当前订单的日期,为了计算方便,新建列提取出来下一个订单日期,下一个订单日期 = SUMX(FILTER(‘订单表’,‘订单表’[序号]=EARLIER(‘订单表’[序号])+1),‘订单表’[订单日期]),查询的是订单表,查询的内容是订单表的序号,用EARLIER函数获取当前行的序号。再新建一列,把这两列用于相减得到的相隔天数,间隔 = IF([下一个订单日期]=BLANK(),BLANK(),[下一个订单日期]-[订单日期]),然后把间隔列的数据类型改为整数,就得到了两个订单之间的间隔日期。最后一行有空值,没有下一个日期,为了避免出现不合理的数值,用IF 进行了判断。 求每个订单日期的累计销售金额。第二天的累计金额为第二天加上第一天的金额。新建列,累计销售额 = SUMX(FILTER(‘订单表’,‘订单表’[序号]<= EARLIER(‘订单表’[序号])),‘订单表’[销售额]),用EARLIER函数求当前行的序号,再把小于等于当前行的所有行进行累加。 求截止目前订单每种产品的销量。新建列,产品累计销量 = SUMX(FILTER(‘订单表’,‘订单表’[序号]<= EARLIER(‘订单表’[序号]) && ‘订单表’[产品名称]=EARLIER(‘订单表’[产品名称])),‘订单表’[销售数量]),不仅可以用EARLIER函数筛选小于当前行的序号,还可以利用它求得当前行的产品名称,同时符合两个条件的销量进行累加,得到最终的结果。先获取本行的记录,然后再做各种聚合运算,本行的记录可以称为行的上下文,EARLIER正是获取上下文的函数之一。
你可能感兴趣的:(python数据分析,数据分析,python,数据挖掘)
【Python】一文详细介绍 py格式 文件
高斯小哥
Python基础【高质量合集】 python 新手入门 学习
【Python】一文详细介绍py格式文件个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)文章目录一、py格式文件简介二、如何创建和编辑py格式文件三、如何运行py
python抓包与解包_Python—网络抓包与解包(pcap、dpkt)
weixin_39691055
python抓包与解包
pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕
华为OD机试 - 单向链表中间节点(Java & JS & Python & C & C++)
华为OD题库
华为od 链表 java
须知哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持文章目录须知题目描述输出描述解析代码题目描述给定一个单链表L,请编写程序输出L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如:给定L为1→7→5,则输出应该为7;给定L为1→2→3→4,则输出应该为3;输入描述每个输入包含1个测试用例。每个测试用例:第一行给出链表首结点的地址、结点总
python 推导式(派生、衍生)
sanduo112
人工智能 python windows 开发语言
python推导式一、推导式(派生、衍生)1.Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。2.列表(list)推导式3.字典(dict)推导式4.集合(set)推导式5.元组(tuple)推导式二、代码概述一、推导式(派生、衍生)1.Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。Python支持各种数
数据分析:低代码平台助力大数据时代的飞跃发展
快乐非自愿
数据分析 低代码 大数据
随着信息技术的突飞猛进,我们身处于一个数据量空前增长的时代——大数据时代。在这个时代背景下,数据分析已经成为企业决策、政策制定、科学研究等众多领域不可或缺的重要工具。然而,面对海量的数据和日益复杂多变的分析需求,传统的数据分析方法往往捉襟见肘,难以应对。幸运的是,低代码平台的兴起为大数据分析注入了新的活力,成为推动大数据时代发展的重要力量。低代码平台,顾名思义,是一种通过少量甚至无需编写代码,就能
数据挖掘|数据预处理|基于Python的数据标准化方法
皖山文武
数据挖掘 数据建模与分析 python 数据挖掘 开发语言
基于Python的数据标准化方法1.z-score方法2.极差标准化方法3.最大绝对值标准化方法在数据分析之前,通常需要先将数据标准化(Standardization),利用标准化后的数据进行数据分析,以避免属性之间不同度量和取值范围差异造成数据对分析结果的影响。1.z-score方法Z-score方法是基于原始数据的均值和标准差来进行数据标准化的,处理后的数据均值为0,方差为1,符合标准正态分布
CSV指南:Python程序获取大型CSV文件行数
孤独打铁匠Julian
笔记 经验分享 python
本指南提供了几种使用Python来获取大型CSV文件行数的方法,并解释了每种方法的适用场景。方法1:使用csv.reader处理复杂CSV文件当你的CSV文件中包含多行字段(即某些字段的值中包含换行符)时,使用csv.reader是一个可靠的选择,因为它能够正确处理这些复杂情况。这个方法适用于大多数大小的CSV文件,但是对于非常大的文件,读取整个文件可能会占用较多的时间和内存。对于极大的文件,考虑
谷歌浏览器驱动Chromedriver(114-120版本)文件以及驱动下载教程
pigerr杨
Python python chrome drivers
ChromeDriver官方网站GitHub||GoogleChromeLabs/chrome-for-testingChromeDriver113-125_JSONChromeforTestingavailability123-125zip白月黑羽Python基础|进阶|Qt图形界面|Django|自动化测试|性能测试|JS语言|JS前端|原理与安装
大创项目推荐 深度学习 opencv python 公式识别(图像识别 机器视觉)
laafeer
python
文章目录0前言1课题说明2效果展示3具体实现4关键代码实现5算法综合效果6最后0前言优质竞赛项目系列,今天要分享的是基于深度学习的数学公式识别算法实现该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:4分创新点:4分更多资料,项目分享:https://gitee.com/dancheng-senior/postgraduate1课题
Ai插件脚本合集安装包,免费教程视频网盘分享
全网优惠分享君
随着人工智能技术的不断发展,越来越多的插件脚本涌现出来,为我们的生活和工作带来了便利。然而,如何快速、方便地获取和使用这些插件脚本呢?今天,我将为大家分享一个非常实用的资源——AI插件脚本合集安装包,以及免费教程视频网盘分享。首先,让我们来了解一下这个AI插件脚本合集安装包。它是一个集合了众多AI插件脚本的资源包,涵盖了各种领域,如数据分析、自动化办公、智能客服等等。通过这个安装包,用户可以轻松地
python转码
Desamond
python 开发语言
转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,
排序算法太多?常用排序都在这了,一篇文章总结和实现所有面试会考的排序算法(基于Python实现)
宇宙之一粟
不归路之Python # IT面试题收集与总结 数据结构与算法 算法 数据结构 排序算法 python java
文章目录排序算法1.常见的排序算法1.1选择排序1.1.1思想1.1.2实现**1.1.3选择排序分析**1.2冒泡排序**1.2.1思想****1.2.2实现****1.2.3冒泡排序分析**1.3插入排序**1.3.1思想****1.3.2实现****1.3.3插入排序分析**1.4归并排序☆☆★**1.4.1思想****1.4.2实现****1.4.3归并排序分析**1.5快速排序☆★★**
27.Python从入门到精通—Python异常处理 抛出异常 用户自定义异常 定义清理行为 预定义的清理行为
以山河作礼。
# Python基础入门—详解版 python java 服务器
27.从入门到精通:Python异常处理抛出异常用户自定义异常定义清理行为预定义的清理行为异常处理抛出异常用户自定义异常定义清理行为预定义的清理行为异常处理在Python中,异常处理是一种处理程序在执行期间可能遇到的错误的方法。当Python解释器遇到错误时,它会引发异常。异常是一种Python对象,它包含有关错误的信息,例如错误类型和错误位置。为了处理异常,您可以使用try-except语句。在
python清华大学出版社答案_Python机器学习及实践
weixin_39805119
python清华大学出版社答案
第1章机器学习的基础知识1.1何谓机器学习1.1.1传感器和海量数据1.1.2机器学习的重要性1.1.3机器学习的表现1.1.4机器学习的主要任务1.1.5选择合适的算法1.1.6机器学习程序的步骤1.2综合分类1.3推荐系统和深度学习1.3.1推荐系统1.3.2深度学习1.4何为Python1.4.1使用Python软件的由来1.4.2为什么使用Python1.4.3Python设计定位1.4.
Python | Redis工具类
-拟墨画扇-
Python redis 数据库 缓存 python
一、需求自动连接Redis数据库,通过连接池处理数据对输出结果进行Log打印并保存到文件二、代码Utils.redisUtils.py#!/usr/bin/envpython#-*-coding:utf-8-*-importredisfromUtils.loggerimportlog"""Redis数据格式(1)字符串|存储形式:key-value:str-存储二进制数据:可以存储任意类型的数据,
数据管理知识体系指南(第二版)-第五章——数据建模和设计-学习笔记
键盘上的五花肉
数据治理 数据库 数据仓库 数据治理
目录5.1引言5.1.1业务驱动因素5.1.2目标和原则5.1.3基本概念5.2活动5.2.1规划数据建模5.2.2建立数据模型5.2.3审核数据模型5.2.4维护数据模型5.3工具5.3.1数据建模工具5.3.2数据血缘工具5.3.3数据分析工具5.3.4元数据资料库5.3.5数据模型模式5.3.6行业数据模型5.4方法5.4.1命名约定的最佳实践5.4.2数据库设计中的最佳实践5.5数据建模和
Python dict字符串转json对象,小数精度丢失问题
朝如青丝 暮成雪
json python
一前言JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,dict是Python的一种数据格式。本篇介绍一个float数据转换时精度丢失的案例。二问题描述importjsontest_str1='{"π":3.1415926535897932384626433832795028841971}'test_str2='{"value":10.00000}'print
Python+Requests模拟发送GET请求
爱学习的执念
自动化测试 软件测试 技术分享 python 开发语言
模拟发送GET请求前置条件:导入requests库一、发送不带参数的get请求代码如下:以百度首页为例importrequests#发送get请求response=requests.get(url="http://www.baidu.com")print(response.content.decode("utf-8"))#以utf-8的编码输出内容二、发送带参数的get请求发送带参数的get请求有
Python极速入门:五分钟开启实战之旅!
知白守黑V
Python 编程语言 系统运维 python 编程语言 python开发 python学习 python入门 python数据分析
1.Python基础语法和结构:了解Python的基本语法,包括变量、数据类型、运算符、注释等。控制流:掌握条件语句(if-elif-else)、循环(for和while)及其控制(break和continue)。函数:学习如何定义和使用函数,包括参数传递、返回值、作用域和闭包。模块和包:理解如何导入和使用模块,以及如何创建和使用自己的包。2.数据处理列表、元组和集合:学习这些序列类型的操作和方法
Python Flask 使用数据库
安果移不动
python flask 开发语言
pipinstallflask_sqlalchemy官方文档:Flask-SQLAlchemy—Flask-SQLAlchemyDocumentation(3.1.x)为了不报错也需要导入另外两个库#pipinstallflask_sqlalchemy#pipinstallmysqlclient完整代码importosfromflaskimportFlaskfromflask_sqlalchemy
PaperWeekly
sapienst
Papers PaperwithCode General ML
1.Python软件包解决DL在未见过的数据分布下性能差的问题:(1)神经网络和损失分离的模块化设计(2)强大便捷的基准测试能力(3)易于使用但难以修改(4)github:https://github.com/marrlab/domainlabTrainer和Models之间是什么关系Trainer和Models是DomainLab中的两个核心概念。Trainer是一个用于指导数据流向模型并计算S
使用Python读取Excel文件并计算平均分
嘻嘻爱编码
Python从入门到放弃 python excel 开发语言
在这篇博客中,我们将探讨如何使用Python的pandas库来读取Excel文件,并计算其中数据的平均分。pandas是一个强大的数据分析工具,它允许我们以简单直观的方式处理表格数据。安装必要的库在开始之前,确保你的环境中安装了pandas和openpyxl库。可以使用以下命令进行安装:pipinstallpandasopenpyxl读取Excel文件首先,我们需要读取Excel文件。假设我们有一
python项目练习——7.网站访问日志分析器
F——
python项目练习 python 信息可视化 数据分析 数据挖掘 开发语言 学习
项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho
python的while双重循环九九乘法表
Jinm_R
python 开发语言
a=1whilea<=9:b=1#乘数每次需要从1开始whileb<=a:print(f"{a}*{b}={a*b}\t",end='')#\t为制表符使乘法表整齐end=''代表用空格代替换行b+=1a+=1print()#乘数每加一换行
【Python】成功解决ModuleNotFoundError: No module named ‘torchinfo‘
高斯小哥
BUG解决方案合集 python pytorch 新手入门 学习 debug
【Python】成功解决ModuleNotFoundError:Nomodulenamed‘torchinfo’个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)文
RNA-seq数据分析_未完成
子诚之
组学数据分析 数据分析
目录基础分析1.质控(reads)2.比对3.质控(alignment)4.定量5.样本合并差异表达1.质控(cohort)2.差异分析3.可视化(差异)富集分析肿瘤免疫1.免疫组库2.免疫浸润3.免疫响应4.新抗原预测微生物组参考本文主要覆盖了肿瘤样本bulkRNA-seq数据常见的分析步骤,并从实践角度出发,较为具体地介绍了每一步骤依赖的工具和数据集。另外,尽管本文适用于肿瘤样本,但其中的一些
Python自动化测试web常见框架汇总
自动化测试薰儿
软件测试 技术分享 python 前端 开发语言
1、前言目前,有非常多的Python框架,用来帮助你更轻松的创建web应用。这些框架把相应的模块组织起来,使得构建应用的时候可以更快捷,也不用去关注一些细节(例如socket和协议),所以需要的都在框架里了。接下来我们会介绍不同的选项。经过初期的不起眼,Python已经成为互联网最流行的服务端编程语言之一。根据W3Techs的统计,它被用于很多的大流量的站点很多的大流量的站点很多的大流量的站点,超
python安装jupter在线ide
晚风拂柳颜
生活小经验 python3 ide jupter
我在虚拟3.6.8的环境里面安装的,具体用了以下命令;pipinstallipython-ihttps://mirrors.aliyun.com/pypi/simple/pipinstalljupyter-ihttps://mirrors.aliyun.com/pypi/simple/jupyternotebook当然,jupter可以直接通过python环境里script目录下的jupyter-
opencv 十八 python下实现0缓存掉线重连的rtsp直播流播放器
摸鱼的机器猫
opencv实战 opencv python 缓存
使用opencv打开rtsp视频流时,会因为网络问题导致VideoCapture掉线;也会因为图像的后处理阶段耗时过长导致opencv缓冲区数据堆积,从而使程序无法及时处理最新的数据。为此对cv2.VideoCapture进行封装,实现0缓存掉线重连的rtsp直播流播放器,让程序能一直处理最新的数据。代码实现fromcollectionsimportdequeimportthreadingimpo
Windows如何安装poppler库,python的PDF转PPTX项目
跨不过
pdf
资源库在这里下载https://github.com/oschwartz10612/poppler-windows/releases/tag/v21.03.0其他的参考这篇博客,里面提到的资源链接失效了https://blog.csdn.net/wy01415/article/details/110257130
TOMCAT在POST方法提交参数丢失问题
357029540
java tomcat jsp
摘自http://my.oschina.net/luckyi/blog/213209
昨天在解决一个BUG时发现一个奇怪的问题,一个AJAX提交数据在之前都是木有问题的,突然提交出错影响其他处理流程。
检查时发现页面处理数据较多,起初以为是提交顺序不正确修改后发现不是由此问题引起。于是删除掉一部分数据进行提交,较少数据能够提交成功。
恢复较多数据后跟踪提交FORM DATA ,发现数
在MyEclipse中增加JSP模板 删除-2008-08-18
ljy325
jsp xml MyEclipse
在D:\Program Files\MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.wizards_6.0.1.zmyeclipse601200710\templates\jsp 目录下找到Jsp.vtl,复制一份,重命名为jsp2.vtl,然后把里面的内容修改为自己想要的格式,保存。
然后在 D:\Progr
JavaScript常用验证脚本总结
eksliang
JavaScript javaScript表单验证
转载请出自出处:http://eksliang.iteye.com/blog/2098985
下面这些验证脚本,是我在这几年开发中的总结,今天把他放出来,也算是一种分享吧,现在在我的项目中也在用!包括日期验证、比较,非空验证、身份证验证、数值验证、Email验证、电话验证等等...!
&nb
微软BI(4)
18289753290
微软BI SSIS
1)
Q:查看ssis里面某个控件输出的结果:
A MessageBox.Show(Dts.Variables["v_lastTimestamp"].Value.ToString());
这是我们在包里面定义的变量
2):在关联目的端表的时候如果是一对多的关系,一定要选择唯一的那个键作为关联字段。
3)
Q:ssis里面如果将多个数据源的数据插入目的端一
定时对大数据量的表进行分表对数据备份
酷的飞上天空
大数据量
工作中遇到数据库中一个表的数据量比较大,属于日志表。正常情况下是不会有查询操作的,但如果不进行分表数据太多,执行一条简单sql语句要等好几分钟。。
分表工具:linux的shell + mysql自身提供的管理命令
原理:使用一个和原表数据结构一样的表,替换原表。
linux shell内容如下:
=======================开始 
本质的描述与因材施教
永夜-极光
感想 随笔
不管碰到什么事,我都下意识的想去探索本质,找寻一个最形象的描述方式。
我坚信,世界上对一件事物的描述和解释,肯定有一种最形象,最贴近本质,最容易让人理解
&
很迷茫。。。
随便小屋
随笔
小弟我今年研一,也是从事的咱们现在最流行的专业(计算机)。本科三流学校,为了能有个更好的跳板,进入了考研大军,非常有幸能进入研究生的行业(具体学校就不说了,怕把学校的名誉给损了)。
先说一下自身的条件,本科专业软件工程。主要学习就是软件开发,几乎和计算机没有什么区别。因为学校本身三流,也就是让老师带着学生学点东西,然后让学生毕业就行了。对专业性的东西了解的非常浅。就那学的语言来说
23种设计模式的意图和适用范围
aijuans
设计模式
Factory Method 意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
Abstr
Java中的synchronized和volatile
aoyouzi
java volatile synchronized
说到Java的线程同步问题肯定要说到两个关键字synchronized和volatile。说到这两个关键字,又要说道JVM的内存模型。JVM里内存分为main memory和working memory。 Main memory是所有线程共享的,working memory则是线程的工作内存,它保存有部分main memory变量的拷贝,对这些变量的更新直接发生在working memo
js数组的操作和this关键字
百合不是茶
js 数组操作 this关键字
js数组的操作;
一:数组的创建:
1、数组的创建
var array = new Array(); //创建一个数组
var array = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]
别人的阿里面试感悟
bijian1013
面试分享 工作感悟 阿里面试
原文如下:http://greemranqq.iteye.com/blog/2007170
一直做企业系统,虽然也自己一直学习技术,但是感觉还是有所欠缺,准备花几个月的时间,把互联网的东西,以及一些基础更加的深入透析,结果这次比较意外,有点突然,下面分享一下感受吧!
&nb
淘宝的测试框架Itest
Bill_chen
spring maven 框架 单元测试 JUnit
Itest测试框架是TaoBao测试部门开发的一套单元测试框架,以Junit4为核心,
集合DbUnit、Unitils等主流测试框架,应该算是比较好用的了。
近期项目中用了下,有关itest的具体使用如下:
1.在Maven中引入itest框架:
<dependency>
<groupId>com.taobao.test</groupId&g
【Java多线程二】多路条件解决生产者消费者问题
bit1129
java多线程
package com.tom;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.loc
汉字转拼音pinyin4j
白糖_
pinyin4j
以前在项目中遇到汉字转拼音的情况,于是在网上找到了pinyin4j这个工具包,非常有用,别的不说了,直接下代码:
import java.util.HashSet;
import java.util.Set;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin
org.hibernate.TransactionException: JDBC begin failed解决方案
bozch
ssh 数据库异常 DBCP
org.hibernate.TransactionException: JDBC begin failed: at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:68) at org.hibernate.impl.SessionImp
java-并查集(Disjoint-set)-将多个集合合并成没有交集的集合
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.ut
Java PrintWriter打印乱码
chenbowen00
java
一个小程序读写文件,发现PrintWriter输出后文件存在乱码,解决办法主要统一输入输出流编码格式。
读文件:
BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因
[天气与气候]极端气候环境
comsci
环境
如果空间环境出现异变...外星文明并未出现,而只是用某种气象武器对地球的气候系统进行攻击,并挑唆地球国家间的战争,经过一段时间的准备...最大限度的削弱地球文明的整体力量,然后再进行入侵......
那么地球上的国家应该做什么样的防备工作呢?
&n
oracle order by与union一起使用的用法
daizj
UNION oracle order by
当使用union操作时,排序语句必须放在最后面才正确,如下:
只能在union的最后一个子查询中使用order by,而这个order by是针对整个unioning后的结果集的。So:
如果unoin的几个子查询列名不同,如
Sql代码
select supplier_id, supplier_name
from suppliers
UNI
zeus持久层读写分离单元测试
deng520159
单元测试
本文是zeus读写分离单元测试,距离分库分表,只有一步了.上代码:
1.ZeusMasterSlaveTest.java
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.j
Yii 截取字符串(UTF-8) 使用组件
dcj3sjt126com
yii
1.将Helper.php放进protected\components文件夹下。
2.调用方法:
Helper::truncate_utf8_string($content,20,false); //不显示省略号 Helper::truncate_utf8_string($content,20); //显示省略号
&n
安装memcache及php扩展
dcj3sjt126com
PHP
安装memcache tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5/ /usr/local/php/bin/phpize (?) ./configure --with-php-confi
JsonObject 处理日期
feifeilinlin521
java json JsonOjbect JsonArray JSONException
写这边文章的初衷就是遇到了json在转换日期格式出现了异常 net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 原因是当你用Map接收数据库返回了java.sql.Date 日期的数据进行json转换出的问题话不多说 直接上代码
&n
Ehcache(06)——监听器
234390216
监听器 listener ehcache
监听器
Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。
activiti 自带设计器中chrome 34版本不能打开bug的解决
jackyrong
Activiti
在acitivti modeler中,如果是chrome 34,则不能打开该设计器,其他浏览器可以,
经证实为bug,参考
http://forums.activiti.org/content/activiti-modeler-doesnt-work-chrome-v34
修改为,找到
oryx.debug.js
在最头部增加
if (!Document.
微信收货地址共享接口-终极解决
laotu5i0
微信开发
最近要接入微信的收货地址共享接口,总是不成功,折腾了好几天,实在没办法网上搜到的帖子也是骂声一片。我把我碰到并解决问题的过程分享出来,希望能给微信的接口文档起到一个辅助作用,让后面进来的开发者能快速的接入,而不需要像我们一样苦逼的浪费好几天,甚至一周的青春。各种羞辱、谩骂的话就不说了,本人还算文明。
如果你能搜到本贴,说明你已经碰到了各种 ed
关于人才
netkiller.github.com
工作 面试 招聘 netkiller 人才
关于人才
每个月我都会接到许多猎头的电话,有些猎头比较专业,但绝大多数在我看来与猎头二字还是有很大差距的。 与猎头接触多了,自然也了解了他们的工作,包括操作手法,总体上国内的猎头行业还处在初级阶段。
总结就是“盲目推荐,以量取胜”。
目前现状
许多从事人力资源工作的人,根本不懂得怎么找人才。处在人才找不到企业,企业找不到人才的尴尬处境。
企业招聘,通常是需要用人的部门提出招聘条件,由人
搭建 CentOS 6 服务器 - 目录
rensanning
centos
(1) 安装CentOS
ISO(desktop/minimal)、Cloud(AWS/阿里云)、Virtualization(VMWare、VirtualBox)
详细内容
(2) Linux常用命令
cd、ls、rm、chmod......
详细内容
(3) 初始环境设置
用户管理、网络设置、安全设置......
详细内容
(4) 常驻服务Daemon
【求助】mongoDB无法更新主键
toknowme
mongodb
Query query = new Query(); query.addCriteria(new Criteria("_id").is(o.getId())); &n
jquery 页面滚动到底部自动加载插件集合
xp9802
jquery
很多社交网站都使用无限滚动的翻页技术来提高用户体验,当你页面滑到列表底部时候无需点击就自动加载更多的内容。下面为你推荐 10 个 jQuery 的无限滚动的插件:
1. jQuery ScrollPagination
jQuery ScrollPagination plugin 是一个 jQuery 实现的支持无限滚动加载数据的插件。
2. jQuery Screw
S