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使用scanpy分析单细胞转录组数据
探序基因
单细胞分析 python 开发语言
探序基因肿瘤研究院整理相关后缀的格式介绍:.h5ad:是一种用于存储单细胞数据的文件格式,可以通过anndata库在Python中处理.loom:高效的数据存储格式(.loom文件),使得用户可以轻松地存储、查询和分析大规模的单细胞数据集。Loompy的设计目标是提供一个快速、灵活且易于使用的工具,以支持生物信息学家和研究人员在单细胞水平上进行数据分析。python的单细胞转录组数据结构说明:da
TCP 握手数据包分析
inquisiter
tcp/ip 网络 linux
一、客户端数据分析:spu@spu:~/code/pcap$tcpdump-rclient_all.pcap-Xreadingfromfileclient_all.pcap,link-typeEN10MB(Ethernet)17:58:56.346748IP192.168.1.178.55814>192.168.1.117.socks:Flags[S],seq2615205588,win64240
本地搭建小型 DeepSeek 并进行微调
非著名架构师
大模型 知识文档 智能硬件 人工智能 大数据 大模型 deepseek
本文将指导您在本地搭建一个小型的DeepSeek模型,并进行微调,以处理您的特定数据。1.环境准备Python3.7或更高版本PyTorch1.8或更高版本CUDA(可选,用于GPU加速)Git2.克隆DeepSeek仓库bash复制gitclonehttps://github.com/deepseek-ai/deepseek.gitcddeepseek3.安装依赖bash复制pipinstall
使用Python和OpenCV实现图像像素压缩与解压
东方佑
量子变法 python opencv 开发语言
在本文中,我们将探讨如何使用Python和OpenCV库来实现一种简单的图像像素压缩算法。我们将详细讨论代码的工作原理,并提供一个具体的示例来演示该过程。1.引言随着数字媒体的普及,图像处理成为了一个重要的领域。无论是为了减少存储空间还是加快网络传输速度,图像压缩技术都扮演着至关重要的角色。这里,我们提出了一种基于像素重复模式的简单压缩算法,它适用于具有大量连续相同像素值的图像。2.技术栈介绍2.
【Python系列】Python 解释器的站点配置
Kwan的解忧杂货铺@新空间代码工作室
s1 Python python 开发语言
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
2025年2月9日(数据分析_2)
Mason Lin
Python学习 数据分析 数据挖掘
散点图frommatplotlibimportpyplotaspltfrommatplotlibimportfont_manager#字体相关#字体font_path=r"C:\Windows\Fonts\msyh.ttc"my_font=font_manager.FontProperties(fname=font_path)x=list(range(31))x2=list(range(31,62
利用Beautiful Soup和Pandas进行网页数据抓取与清洗处理实战
傻啦嘿哟
pandas
目录一、准备工作二、抓取网页数据三、数据清洗四、数据处理五、保存数据六、完整代码示例七、总结在数据分析和机器学习的项目中,数据的获取、清洗和处理是非常关键的步骤。今天,我们将通过一个实战案例,演示如何利用Python中的BeautifulSoup库进行网页数据抓取,并使用Pandas库进行数据清洗和处理。这个案例不仅适合初学者,也能帮助有一定经验的朋友快速掌握这两个强大的工具。一、准备工作在开始之
python做一个注册界面_python如何做一个登录注册界面
weixin_39824033
python做一个注册界面
python做一个登录注册界面的方法:首先初始化一个window界面,并使用画布实现欢迎的logo;然后用代码实现登录和注册按钮;接着并进行登录判断代码;最后完成注册界面即可。【相关学习推荐:python视频教程】python做一个登录注册界面的方法:一、登录界面1、首先初始化一个window界面window=tk.Tk()window.title('WelcometoMofanPython')w
python读取zip包内文件_Python模块学习:zipfile zip文件操作
weixin_40001634
python读取zip包内文件
最近在写一个网络客户端下载程序,用于下载服务器上的数据。有些数据(如文本,office文档)如果直接传输的话,将会增加通信的数据量,使下载时间变长。服务器在传输这些数据之前先对其进行压缩,客户端接收到数据之后进行解压,这样可以减小网通传输数据的通信量,缩短下载的时间,从而增加客户体验。以前用C#做类似应用程序的时候,我会用SharpZipLib这个开源组件,现在用Python做类似的工作,只要使用
python制作登陆窗口_python登陆界面
weixin_39758494
python制作登陆窗口
广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!print(账号密码错误!请重试。)returnfalsebutton(master,text=登陆,width=10,command=test).grid(row=3,column=0,sticky=w,padx=10,pady=5)button(master,text=退出,wid
如何使用零配置的Sphinx生成Python文档?
潮易
sphinx 全文检索 搜索引擎
如何使用零配置的Sphinx生成Python文档?在Python编程中,编写文档是非常重要的。一个好的文档可以帮助其他开发者理解和使用你的代码。Sphinx是一个用于生成Python项目的文档的静态网页生成器,它支持多种文档格式,包括ReStructuredText和Markdown。以下是使用零配置的方式来使用Sphinx生成Python文档的详细步骤:1.首先,确保你已经安装了Sphinx。打
如何订阅&q;/扫描&q;主题、修改消息并发布到新主题?
潮易
python 开发语言
如何订阅&q;/扫描&q;主题、修改消息并发布到新主题?这个问题涉及到Python编程中的MQTT(MessageQueuingTelemetryTransport)库的使用,该库允许我们创建客户端订阅和发布消息到MQTT服务器。以下是一个简单的步骤:1.安装MQTT库:可以使用pip安装`paho-mqtt`库。```pythonpipinstallpaho-mqtt```2.创建一个MQTT客
Python-tkinter自制登录界面(含注册)
GCHEK
python 开发语言
简单的用户登录、注册界面importtkinterastkimporttimeimportsubprocessimportsysimportosimporttkinter.messageboxwindow=tk.Tk()window.title('GCHEK')window.geometry('400x300')#设置储存用户信息的容器,这里用的txt。ifnotos.path.exists('U
Python爬虫requests(详细)
dme.
Python爬虫零基础入门 爬虫 python
本文来学爬虫使用requests模块的常见操作。1.URL参数无论是在发送GET/POST请求时,网址URL都可能会携带参数,例如:http://www.5xclass.cn?age=19&name=dengres=requests.get(url="https://www.5xclass.cn?age=19&name=deng")res=requests.get(url="https://www
毕业论文如何降低AIGC率?
kexiaoya2013
AIGC 论文笔记 论文阅读
在Deepseek爆火的当下,AI生成内容已经渗透到各个领域,包括论文写作。如果你的论文使用了AI工具辅助写作,那么,如何降低AIGC率呢?一、控制使用比例将AI工具用于辅助性任务,如文献检索、语法检查、词汇替换等,而非核心内容的生成。论文的研究方法、数据分析、结论等核心部分应尽量手动完成。完全依赖AI生成论文会导致AI率过高,而将AI用于辅助性任务则能有效降低AI率。二、采用不同模型不同AI模型
BP 神经网络在考古数据分析中的应用
fanxbl957
人工智能理论与实践 神经网络 数据分析 人工智能
BP神经网络在考古数据分析中的应用摘要:本文深入探讨了BP神经网络在考古数据分析领域的应用。首先阐述了考古数据分析的重要性以及传统分析方法的局限性。随后详细介绍了BP神经网络的结构、原理与训练算法。通过丰富的代码示例展示了如何运用BP神经网络进行考古文物的分类鉴定、年代预测以及遗址空间分布分析等任务,涵盖数据预处理、网络构建、模型训练与评估等关键环节。分析了该应用的优势与局限性,并对其在考古数据分
市场波动中的数据分析与策略优化
QQ3990385023
数据分析 区块链 人工智能
市场波动中的数据分析与策略优化在市场交易中,价格的波动往往受到多种因素影响,包括资金流向、经济数据、政策调整等。如何利用数据分析优化交易策略,提升市场适应能力,是投资者需要重点关注的问题。借助科学的分析方法,结合技术指标,可以更精准地识别趋势,提高交易稳定性。一、市场数据分析的核心要素1.价格趋势分析市场价格的变动通常会形成一定的趋势,例如上涨趋势、震荡趋势或下跌趋势。通过均线(MA)等技术指标,
2024亚马逊数据分析!
KJYHS
数据分析 数据挖掘
整体财务数据23净销售额:全年净销售额达6380亿美元,同比增长11%。净利润:全年净利润为592亿美元,较上年同期的304亿美元增长95%。经营活动现金流:经营活动现金流达1159亿美元,同比增加了36%。各业务板块数据AWS业务1第四季度营收:2024年第四季度,AWS业务实现营收288亿美元,同比增长19%;经营利润达106亿美元,同比增长34亿美元。广告业务5全年营收:2024年广告业务总
使用python计算等比数列求和的方法
HAMYHF
windows
在python中,计算Sum=m+mm+mmm+mmmm+.....+mmmmm.....,输入两个数m,n。m的位数累加到n的值,列出算式并计算出结果:#为了打印出算式,并计算出结果,将m,mm这些放入到列表中#定义列表中的m初始值为0,用Ele来代表m,mm....Ele=0#定义总和为0Sum=0#定义一个空列表List=[]#输入两个值n=int(input("inputadigit:")
Python+Playwright常用元素定位方法
HAMYHF
python 功能测试
CSSselector选择器在CSS中,定位元素主要通过选择器完成,以下是几种常见的CSS选择器定位方法:标签选择器(element):直接使用HTML元素名称来定位,例如p会选择所有段落元素。属性选择器(attribute):选择所有具有指定属性的元素,无论该属性的值是什么。例如,[title]会选择所有包含title属性的元素。选择具有指定属性,并且该属性值完全等于给定值的元素。例如,[typ
Python中的 redis keyspace 通知_python 操作redis psubscribe(‘__keyspace@0__ ‘)
2301_82243733
程序员 python 学习 面试
最后Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习Python门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的Pytho
Python数据分析与可视化
程序媛小果
python python 数据分析 开发语言
Python数据分析与可视化在数据驱动的商业世界中,数据分析和可视化成为了理解复杂数据集、做出明智决策的关键工具。Python,作为一种功能强大且易于学习的编程语言,提供了丰富的库和框架,使得数据分析和可视化变得简单高效。本文将探讨Python在数据分析和可视化中的应用,包括数据预处理、分析、以及如何通过可视化工具将数据洞察转化为可操作的策略。1.数据分析的重要性数据分析是提取数据中有用信息的过程
【数据分析】通过个体和遗址层面的遗传相关性网络分析
生信学习者1
数据分析 数据分析 数据挖掘 r语言 数据可视化
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!文章目录介绍原理应用场景加载R包数据下载函数个体层面的遗传相关性网络分析导入数据数据预处理构建遗传相关性的个体网络对个体网络Nij进行可视化评估和选择最佳模型评估和选择最佳模型最佳模型进行总结拟合优度检验遗址层面的遗传相关性网络分析导入数据数据预处理构建遗址之间的遗传相关性网络可视化图条件边预测与模型评估总结系统信息介绍个
【Python 学习 / 7】模块与文件操作
卜及中
Python基础 python 学习 数据库
文章目录前言一、导入模块1.导入整个模块2.导入模块中的特定函数3.给模块或函数起别名二、常用模块1.`math`模块2.`random`模块3.`os`模块4.`sys`模块三、文件处理1.打开文件2.读取文件3.写入文件4.关闭文件5.使用`with`语句管理文件四、日期时间1.`datetime`模块获取当前日期和时间创建日期和时间对象格式化日期和时间解析字符串为日期对象2.`time`模块
探索天气预警API:精准预测,守护安全
api
引言在当今这个快速变化的世界中,天气的波动直接影响着人们的日常生活、农业生产、交通出行乃至公共安全。为了有效应对各种极端天气事件,天气预警API应运而生,成为连接气象数据与公众服务的重要桥梁。本文将深入探讨天气预警API的工作原理、应用场景以及其对社会的积极影响。天气预警API的工作原理天气预警API基于先进的气象监测技术和大数据分析,通过收集全球范围内的气象卫星、雷达、地面观测站等数据源,进行实
经销商管理系统架构设计方案(附 Java版本和Python版本源代码详解)
AI天才研究院
DeepSeek R1 & 大数据AI人工智能大模型 AI大模型企业级应用开发实战 AI大模型应用入门实战与进阶 计算科学 神经计算 深度学习 神经网络 大数据 人工智能 大型语言模型 AI AGI LLM Java Python 架构设计 Agent RPA
经销商管理系统架构设计方案(Java实现源代码详解)关键词:经销商管理系统,Java,SpringBoot,MyBatis,MySQL,架构设计,源代码1.背景介绍随着市场竞争的日益激烈,企业对经销商的管理越来越重视。传统的经销商管理方式效率低下,信息滞后,难以适应现代企业的发展需求。为了提高经销商管理效率,降低运营成本,越来越多的企业开始采用信息化的手段来管理经销商,而经销商管理系统应运而生。经
Python:数据从Excel表格链接到Word文档 更新Excel即可自动更新Word
一个花生米生花
python excel word
要使用Python来创建或更新一个Word文档,并将数据从Excel表格链接到Word文档中,你可以使用python-docx库来操作Word文档和openpyxl或pandas库来读取Excel文件。不过,需要注意的是,python-docx库并不支持将外部文件链接到Word文档的功能。你可以在Word文档中插入Excel数据的快照,但它们不会自动更新。如果你想要在Word文档中插入Excel数
使用Odoo Shell卸载模块
odoo中国
odoo odoo 开源软件 erp
使用OdooShell卸载模块我们在Odoo使用过程中,因为模块安装错误或者前端错误等导致odoo无法通过界面登录,这时候你可以使用OdooShell来卸载模块。OdooShell是一个交互式Pythonshell,允许你直接与Odoo数据库和模型进行交互。以下是使用OdooShell卸载模块的详细步骤:步骤1:启动OdooShell要启动OdooShell,你需要在终端中运行以下命令。确保你已经
NumPy的基本使用
Mo思
编程学习 numpy python 开发语言 pip
在Python的数据科学与数值计算领域,NumPy无疑是一颗耀眼的明星。作为Python中用于科学计算的基础库,NumPy提供了高效的多维数组对象以及处理这些数组的各种工具。本文将带您深入了解NumPy的基本使用,感受它的强大魅力。一、安装与导入在使用NumPy之前,首先要确保它已经安装在您的Python环境中。如果您使用的是Anaconda发行版,NumPy通常已经预装。若未安装,可以使用如下命
FOKS-TROT: 一个高效、易用的全功能开源知识图谱生成工具
柳旖岭
FOKS-TROT:一个高效、易用的全功能开源知识图谱生成工具项目简介FOKS-TROT是一个基于Python的全功能开源知识图谱生成工具,旨在帮助研究人员和开发者快速构建具有丰富信息的知识图谱。该项目由hkx3upper在GitCode上开发并维护。通过FOKS-TROT,您可以轻松地将各种数据源(如文本文件、数据库、API)转换为结构化的知识图谱,并对其进行可视化分析和机器学习任务。此外,该工
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