• [其他] 数据可视化的库Matplotlib介绍
    Python有许多用于数据可视化的库,例如常见的有seaborn、pyecharts(echarts的Python版本)、ggplot(移植于R语言的ggplot2,但是有些差别,Python有其他方法可以调用R语言的ggplot2)、bokeh、Plotly(同时支持Python和R语言)等等,这些大多是基于Matplotlib进行开发封装的。 Matplotlib是一个Python 2D绘图库(使用Matplotlib发布的mpl_toolkits库可以画3D图形 ),能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。 Matplotlib 是 Python 最著名的绘图库,它提供了一整套和 MATLAB 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,使用在Python脚本,Python和IPython Shell、Jupyter notebook,Web应用程序服务器和各种图形用户界面工具包等上面。 Matplotlib的图像是画在figure(如windows,jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。最简单的创建figure以及axes的方式是通过pyplot.subplots命令,创建axes以后,可以使用Axes.plot绘制最简易的折线图。 以下使用的是IPython Shell %matplotlib # 在IPython Shell调用Matplotlib绘图接口,需要加这行代码 import matplotlib.pyplot as plt import numpy as np fig, ax= plt.subplots() # 创建一个包含一个axes的figure # 绘图 ax.plot([1, 2, 3, 4], [1, 4, 3, 2]) 这里有一个小知识点,很小很小,但是对于刚刚接触数据可视化的新手可能容易弄混。ax.plot([1, 2, 3, 4], [1, 4, 3, 2]) 这句代码里面第一个参数是数据集里各个数据点的X值的集合,第二个参数数据集里各个数据点的Y值的集合。所以这里输入的参数值并不是数学上常见的成对坐标点如(x1,y1)、(x2,y2)、...、(xn,yn)的格式,而是 (x1,x2,...,xn)和(y1,y2,...,yn) 。 ![3b6df931e4fe2e0693493cdc108512ee.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/25/1650855321554644957.png)
  • [技术干货] 应用场景分享——不依赖Office或者WPS操作xls、xlsx文件/pandas读取xls文件/xlrd库写入xls
    开发稳定的跨电脑脚本是对中高级开发者的要求。在不同的执行环境,还需要安装office或者wps是比较麻烦的事情。现在提供一个读写xls的方法,可以不依赖执行机的运行环境是否安装了处理xls的工具。1、读excel是使用的pandas库2、写xls使用的是xlrd/xlwt库,因为系统自带的xlrd库是较新的2.0版本,新版本的xlrd库导致不能写入xlsx文件,所以此处在工程的lib文件夹里附带了1.0.2版本3、对于xlsx的源文件,写完后会变成xls文件格式(虽然扩展名没变,但是文件的实际格式变化了)4、执行器或者设计器需要把安装目录下的lib(Studio 2.18.0\python\Lib\site-packages)的xlrd包手动备份或者删除掉5、如果执行中断后,可以从写入中断的地方开始过滤出要操作的数据(使用pandas.query控件,样例有使用)6、写文件使用的是python函数,目前固定写死到第5列,可以根据实际情况来修改python函数7、表格筛选过滤时对于非空的NaN的判断是用   列名.isnull(),看上去有点点奇怪,可参考样例里pandas.query控件8、对于列中是否包含某一字段(如cell中包含“写入”两字的所有行)的筛选过滤可以使用  列名.str.contains("写入")  pandas.query控件附件是样例工程,理解后可以自行改造。还有一个方法可以将list或者pandas批量保存为excel不依赖OFFICE或者WPS
  • [热门活动] 一起读书吧·DevCloud世界读书日主题活动
    4月23日世界读书日全称“世界图书与版权日”,又称“世界图书日”。其设立目的是推动更多的人去阅读和写作,希望所有人都能尊重和感谢为人类文明做出过巨大贡献的文学、文化、科学、思想大师们,保护知识产权。为支持正版,鼓励开发者培养持续学习的优良品质,华为云软件开发平台DevCloud发起了本次读书日活动,联合清华大学出版社、机械工业出版社精选34本好书样章资源包,为你的软件工程师之路补充粮草~参与流程论坛回帖:#一起读书吧#+推荐图书书名+推荐心得 即可开启隐藏楼层获得大咖书单下载地址![hide]专区地址:https://devcloud.huaweicloud.com/expert/press?utm_source=1[/hide]书籍太多从哪里开始看?不要在收藏夹吃灰啦,专家领读,不迷路!领读视频部分内容展示视频观看地址:https://classroom.devcloud.huaweicloud.com/joinclass/d17483a4aa2f4022b707fc105526b7ac/1你最喜欢哪一本?分享活动给小伙伴,我们会综合下载量和活动结束后社群投票数,有机会对人气最高的图书进行直播解读!华为云软件开发读书群一手资料分享,专家直播领读,尽在此处...
  • [交流分享] python模块ray-1.8.0在鲲鹏服务器上的编译安装
    一般安装方式为:pip install ray-1.8.0但是pipy库里面没有arm64的版本,因此这个命令在鲲鹏服务器上执行会提示找不到资源。源码编译安装方法有两种。编译成功的时候相关软件版本信息如下:Gcc:GCC for openEuler-10.3.1Bazel:4.2.1Python:3.7.9/3.9.101,安装GCC for openEulermkdir -p /opt/aarch64/compilercd /opt/aarch64/compilerwget https://mirror.iscas.ac.cn/kunpeng/archive/compiler/kunpeng_gcc/gcc-10.3.1-2021.09-aarch64-linux.tar.gztar -xf gcc-10.3.1-2021.09-aarch64-linux.tar.gzexport PATH=/opt/aarch64/compiler/gcc-10.3.1-2021.09-aarch64-linux/bin:$PATHexport INCLUDE=/opt/aarch64/compiler/gcc-10.3.1-2021.09-aarch64-linux/include:$INCLUDEexport LD_LIBRARY_PATH=/opt/aarch64/compiler/gcc-10.3.1-2021.09-aarch64-linux/lib64:$LD_LIBRARY_PATHgcc --version2,下载ray-1.8.0源码并安装yum install psmiscpip3 install cython==0.29.26 pytestgit clone https://github.com/ray-project/ray.git -b ray-1.8.0vim ray/bazel/BUILD.redis #注释23行并添加make -j 64 -C "$${tmpdir}" MALLOC=libcray/ci/travis/install-bazel.shpushd ray/dashboard/clientnpm installnpm run buildpopdcd ray/pythonpip3 install -e . --verbose到这一步,如果可以正常编译安装,可以再执行python3 setup.py bdist_wheel命令在当前目录的dist目录下生成whl安装包。如果编译报错,可以使用以下方式编译查看编译过程中的报错信息:cd .. #回到ray源码目录bazel build --sandbox_debug -c fastbuild //:ray_pkg
  • [互动交流] 【执行器】【调用python脚本中的函数】执行器执行到该模块时卡死
    【功能模块】exec.py 调用python脚本中的函数【操作步骤&问题现象】1、流程中有多个调用python脚本中的函数模块,执行器在运行到其中某个模块时会卡死并不给出任何反馈。2、本地设计器上运行没有问题但是发布之后会有这个问题,设计器和执行器版本均为3.0【截图信息】无【日志信息】(可选,上传日志内容或者附件)782859 2022-04-07 10:35:19,217 [pool-3-thread-3] INFO  com.huawei.mateinfo.common.ProcessUtils$SubProcessBufferCleaner.run(ProcessUtils.java:248) - [2022-04-07 10:35:19] 完成执行[语句块] [Arhaus_Dataget.xml 第17行] 异常处理 [异常处理] [OK]1619667 2022-04-07 10:49:16,025 [pool-37-thread-1] ERROR com.huawei.mateinfo.common.ProcessUtils.executeCmd(ProcessUtils.java:106) - Command line returned OS error code:1 for command1619668 2022-04-07 10:49:16,026 [pool-37-thread-1] ERROR com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.doExecuteCmd(ProcedureTaskExecutor.java:268) - execute Cmd for Job:task_id_103235596073 occur exceptioncom.huawei.mateinfo.agent.exception.AgentRuntimeException: Command execute failed!    at com.huawei.mateinfo.common.ProcessUtils.executeCmd(ProcessUtils.java:107) ~[ipa-client-common-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.doExecuteCmd(ProcedureTaskExecutor.java:264) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.executeRobotCmd(ProcedureTaskExecutor.java:228) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.doExecutorProcedureTask(ProcedureTaskExecutor.java:183) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.executeMCScheduleTask(ProcedureTaskExecutor.java:135) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.executeProcedureTask(ProcedureTaskExecutor.java:103) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.doExecute(ProcedureTaskExecutor.java:94) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at com.huawei.mateinfo.agent.service.task.CommonTaskExecutor.lambda$execute$0(CommonTaskExecutor.java:62) ~[ipa-agent-1.1.0-SNAPSHOT.jar:?]    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_312]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_312]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_312]    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]1619677 2022-04-07 10:49:16,035 [pool-37-thread-1] WARN  com.huawei.mateinfo.agent.service.task.procedure.ProcedureTaskExecutor.doExecutorProcedureTask(ProcedureTaskExecutor.java:189) - Job task_id_103235596073 failed!  Failed reason: null ! Retries 1 times1624346 2022-04-07 10:49:20,704 [pool-22-thread-1] INFO  com.huawei.mateinfo.agent.service.task.TaskExecutorFacade.execute(TaskExecutorFacade.java:56) - Finish task:TaskInfo{id='13704', jobName='task_id_103235596073', jobId='7066', targetAgent='null', targetWorkflow='null', fileBatchId='null', attachmentId='9aa21296-16ec-4808-9054-0a69102aefbb', attachmentName='ARHAUS_POENTRY.zip', taskExtendInfo='com.huawei.mateinfo.ipa.common.agent.dto.TaskExtendInfo@5488781', procedureName='null', taskTag='null'}中间读取pdf具体信息省略[2022-04-07 15:43:49,317] [INFO] - com.huawei.antrobot.logging.log_output.log_output(log_output_start_end:150) - end running action: readPdf line:59 [读取PDF文件] in Arhaus_Dataget.xml with result:True[2022-04-07 15:43:49,317] [INFO] - console.logger(common_log:178) - 完成执行[原子命令] [Arhaus_Dataget.xml 第59行] 读取PDF文件 [读取PDF文件] [OK][2022-04-07 15:43:49,317] [INFO] - com.huawei.antrobot.logging.log_output.log_output(log_output_start_end:150) - start running action: exec.py line:67 [调用python脚本中的函数] in Arhaus_Dataget.xml到这里为止没有后续了,卡顿30分钟后手动停止了流程
  • [区域复赛赛题问题] 【python】【多进程报错】线上环境似乎无法处理多进程全局变量问题
    【功能模块】python写多进程处理时,利用 multiprocessing 中的 Manager 定义全局变量会导致线上报错:程序运行失败。【操作步骤&问题现象】1、线上提交如下代码:from multiprocessing import ManagerOUTPUT_PATH = "/output/solution.txt"if __name__ == '__main__':    a = Manager().dict()    with open(OUTPUT_PATH, "w") as f:        pass会显示程序运行失败。2、但是将定义语句去掉,即:from multiprocessing import ManagerOUTPUT_PATH = "/output/solution.txt"if __name__ == '__main__':    # a = Manager().dict()    with open(OUTPUT_PATH, "w") as f:        pass则不会显示程序运行失败,而是显示输出格式错误。【问题描述】上述操作都是在python自带的包中进行的。这说明在利用Manager定义多进程全局变量的时候会导致线上环境报错,而在线下是不会出现报错问题的。请问线上环境是出现这种报错是什么原因呢?
  • [全栈开发者] 记录我的学习历程和部分学习笔记
    python 学习python使用解释器和集成开发工具包两种,第一种很小、第二种anaconda比较大,开发多个项目使用python虚拟机独立创建环境比较好。
  • [技术干货] 图像识别入门必读,华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载 | 云享·书库No.3[转载
    华为云云享.书库》系列电子书来啦!本系列电子书旨在帮助开发者成长,汇聚华为云内外部专家技术精华制作而成。 本书《从零到一•Python图像处理》是该系列电子书第3部。本书作者杨秀璋,贵州财经大学教师,武汉大学在读博士。长期从事Web数据挖掘、知识图谱、人工智能、网络安全等方向研究,现已出版专著6部,发表论文30余篇,主持课题6项(含1项贵州省优秀自然科学基金),并参与多项国家级课题。近十年在华为云等社区分享原创博客600余篇,开源项目100余个,全网累计阅读量超过1000万人次,粉丝20余万。此书是作者十多年图像处理及识别编程经验的结晶,包含丰富真实的案例及详细的算法原理,采用Python3、OpenCV和Keras等库实现,通过图文结合、代码注释、实例详解的形式娓娓道来。希望这本电子书及开源的代码能帮助读者迅速入门,并让图像处理及识别领域的知识轮廓逐渐清晰。全书包括三部分内容,共48章。第一部分是图像处理基础知识(共10章),详细介绍了图像处理基础、OpenCV入门、几何图形绘制、算数与逻辑运算、几何变换、量化和采样处理等内容。第二部分是图像运算和图像增强(共17章),包括图像点运算、灰度变换、形态学处理、直方图绘制、图像均衡化、平滑锐化等内容。第三部分是图像识别及图像高阶案例(共21章),包括图像分割、傅里叶变换、霍夫变换、图像分类、特效处理、OpenGL、图像去雾等知识,也囊括了经典的文字识别、车牌识别、人脸识别、目标检测、基于深度学习的图像分类、小麦检测、GAN图像生成等案例。本书详细讲解了Python图像处理及识别知识,是市面上为数不多结合实战的图像处理书籍,更是一本计算机视觉的宝典。全书内容通俗易懂,案例丰富,图文并茂,便于读者快速上手,非常适合初学者、技术人员和高校师生学习。同时,作者杨秀璋长期从事相关研究,实践经验丰富,并且乐于分享知识。无论是新手还是经验丰富的技术人员,都希望您能从中获益。扫描下方二维码,回复“云享书库”,快来免费领取这本电子书吧~附:云享书库第2期:年度重磅!华为云2021应用构建技术实践精选集,七大领域400页+云上开发宝典,免费下载!云享书库第1期:【年度重磅】2020华为云社区年度技术精选合集,700页+免费下载!
  • [区域复赛赛题问题] 为什么举办方对我们python选手这么不友好?
    我本地测试的程序不超过18s就能出方案,线上怎么通过不了,300s的宽限我实在想不通十几秒怎么还不够?既然允许我们python选手参赛,那也要考虑到我们的情况啊!!!
  • [赛事资讯] 【精彩速递】华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载
    【赛事资讯】2022年3月26日-- 4月1日✨【品牌赛事】提交倒计时|2022软挑作品提交通道已开启摘要:第八届华为软件精英挑战赛报名截止到3月24日18:00已结束,3月25日9:00作品提交通道已开启。✨【书籍分享】华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载摘要:本书作者杨秀璋,贵州财经大学教师,武汉大学在读博士。长期从事Web数据挖掘、知识图谱、人工智能、网络安全等方向研究,现已出版专著6部,发表论文30余篇,主持课题6项(含1项贵州省优秀自然科学基金),并参与多项国家级课题。近十年在华为云等社区分享原创博客600余篇,开源项目100余个,全网累计阅读量超过1000万人次,粉丝20余万。✨【直播预告】华为云大咖带你玩转云原生DevSecOps摘要:本直播为华为云云原生入门级开发者认证人才计划活动第8场直播,本直播将由华为云高级讲师路老师给大家分享敏捷软件开发和DevOps的概念及其关系、持续集成、持续交付、持续部署的概念、华为云HE2E DevOps框架,带你玩转云原生DevSecOps!✨【资产园地】102种常见的昆虫识别模型|识别昆虫, 提高农产品产量, 稳定市场价格摘要:昆虫害虫是影响农产品产量的主要因素之一。 准确识别虫害有助于及时采取预防措施,避免经济损失。这个模型可以预测102种常见的昆虫,包含rice leaf roller,rice leaf caterpillar, paddy stem maggot, asiatic rice borer, yellow rice borer等。输入一个图像,这个模型会预测该图像中昆虫分别属于每个类别的置信度,置信度的取值范围为0到1。✨【技术干货】手把手教您体验ModelArts Notebook摘要:ModelArts 是面向开发者的一站式 AI 平台,为机器学习与深度学习提供海量数据预处理及交互式智能标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。往期回顾:【赛事资讯】2022年3月25日精彩速递-提交倒计时|2022软挑作品提交通道已开启【赛事资讯】2022年3月18日精彩速递-第八届华为软件精英挑战赛火热报名中,超全FAQ来袭!【赛事资讯】2022年3月11日精彩速递-2022华为大学生无线基站Massive MIMO创新大赛正式开启,快来报名参赛吧!【赛事资讯】2022年3月4日精彩速递-官宣!2022年第八届华为软件精英挑战赛正式启动报名
  • [技术干货] 华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载
    《华为云云享.书库》系列电子书来啦!本系列电子书旨在帮助开发者成长,汇聚华为云内外部专家技术精华制作而成。 本书《从零到一•Python图像处理》是该系列电子书第3部。本书作者杨秀璋,贵州财经大学教师,武汉大学在读博士。长期从事Web数据挖掘、知识图谱、人工智能、网络安全等方向研究,现已出版专著6部,发表论文30余篇,主持课题6项(含1项贵州省优秀自然科学基金),并参与多项国家级课题。近十年在华为云等社区分享原创博客600余篇,开源项目100余个,全网累计阅读量超过1000万人次,粉丝20余万。此书是作者十多年图像处理及识别编程经验的结晶,包含丰富真实的案例及详细的算法原理,采用Python3、OpenCV和Keras等库实现,通过图文结合、代码注释、实例详解的形式娓娓道来。希望这本电子书及开源的代码能帮助读者迅速入门,并让图像处理及识别领域的知识轮廓逐渐清晰。全书包括三部分内容,共48章。第一部分是图像处理基础知识(共10章),详细介绍了图像处理基础、OpenCV入门、几何图形绘制、算数与逻辑运算、几何变换、量化和采样处理等内容。第二部分是图像运算和图像增强(共17章),包括图像点运算、灰度变换、形态学处理、直方图绘制、图像均衡化、平滑锐化等内容。第三部分是图像识别及图像高阶案例(共21章),包括图像分割、傅里叶变换、霍夫变换、图像分类、特效处理、OpenGL、图像去雾等知识,也囊括了经典的文字识别、车牌识别、人脸识别、目标检测、基于深度学习的图像分类、小麦检测、GAN图像生成等案例。本书详细讲解了Python图像处理及识别知识,是市面上为数不多结合实战的图像处理书籍,更是一本计算机视觉的宝典。全书内容通俗易懂,案例丰富,图文并茂,便于读者快速上手,非常适合初学者、技术人员和高校师生学习。同时,作者杨秀璋长期从事相关研究,实践经验丰富,并且乐于分享知识。无论是新手还是经验丰富的技术人员,都希望您能从中获益。扫描下方二维码,回复“云享书库”,快来免费领取这本电子书吧~转载自华为云社区云享.书库活动
  • [技术干货] 图像识别入门必读,华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载 | 云享·书库No.3[转载
    图像识别入门必读,华为云专家10年技术沉淀,684页《从零到一•Python图像处理》独家免费下载 | 云享·书库No.3 技术火炬手 发表于 2022/03/14 18:49:41  1.5w+  5  3【摘要】 《华为云云享.书库》系列第3部电子书上线啦!《华为云云享.书库》系列电子书来啦!本系列电子书旨在帮助开发者成长,汇聚华为云内外部专家技术精华制作而成。 本书《从零到一•Python图像处理》是该系列电子书第3部。本书作者杨秀璋,贵州财经大学教师,武汉大学在读博士。长期从事Web数据挖掘、知识图谱、人工智能、网络安全等方向研究,现已出版专著6部,发表论文30余篇,主持课题6项(含1项贵州省优秀自然科学基金),并参与多项国家级课题。近十年在华为云等社区分享原创博客600余篇,开源项目100余个,全网累计阅读量超过1000万人次,粉丝20余万。此书是作者十多年图像处理及识别编程经验的结晶,包含丰富真实的案例及详细的算法原理,采用Python3、OpenCV和Keras等库实现,通过图文结合、代码注释、实例详解的形式娓娓道来。希望这本电子书及开源的代码能帮助读者迅速入门,并让图像处理及识别领域的知识轮廓逐渐清晰。全书包括三部分内容,共48章。第一部分是图像处理基础知识(共10章),详细介绍了图像处理基础、OpenCV入门、几何图形绘制、算数与逻辑运算、几何变换、量化和采样处理等内容。第二部分是图像运算和图像增强(共17章),包括图像点运算、灰度变换、形态学处理、直方图绘制、图像均衡化、平滑锐化等内容。第三部分是图像识别及图像高阶案例(共21章),包括图像分割、傅里叶变换、霍夫变换、图像分类、特效处理、OpenGL、图像去雾等知识,也囊括了经典的文字识别、车牌识别、人脸识别、目标检测、基于深度学习的图像分类、小麦检测、GAN图像生成等案例。本书详细讲解了Python图像处理及识别知识,是市面上为数不多结合实战的图像处理书籍,更是一本计算机视觉的宝典。全书内容通俗易懂,案例丰富,图文并茂,便于读者快速上手,非常适合初学者、技术人员和高校师生学习。同时,作者杨秀璋长期从事相关研究,实践经验丰富,并且乐于分享知识。无论是新手还是经验丰富的技术人员,都希望您能从中获益。扫描下方二维码,回复“云享书库”,快来免费领取这本电子书吧~附:云享书库第2期:年度重磅!华为云2021应用构建技术实践精选集,七大领域400页+云上开发宝典,免费下载!云享书库第1期:【年度重磅】2020华为云社区年度技术精选合集,700页+免费下载!
  • [其他] ELK环境巡检工具报错:Python3 command not found
    触发版本:DWS_Fusioncare 8.0.5、DWS_Fusioncare  8.0.6 、DWS_Fusioncare 8.0.7触发原因:ELK环境下未在/opt/huawei/Bigdata/tmp/SysChecker_Scripts_root/SysChecker/18_Elk/生成PythonLib文件夹以及脚本,导致执行脚本报python3: command not found只能手动后台SysChecker安装SysChecker工具成功后,执行第一步:cp -r /opt/SysChecker/SysCheck/ClientScripts/17_MPPDB/Lib/PythonLib   /opt/SysChecker/SysCheck/ClientScripts/18_Elk/Lib/将PythonLib文件夹及其脚本拷贝到18_Elk/Lib目录中, 修改PythonLib以及该文件夹下的(-R)的权限以及属组。第二步:修改完成后,进入/opt/SysChecker/SysCheck/Lib 修改client_operations.py脚本第194行,删除, ignore=shutil.ignore_patterns('PythonLib')。保存后退出shutil.copytree(strSrcDir, dest_dir, ignore=shutil.ignore_patterns('PythonLib'))shutil.copytree(strSrcDir, dest_dir)第三步:进入/opt/SysChecker/PythonLib/x86/PythonLib/lib,查看是否有libffi.so.6文件有:在FusionCare页面开始对接环节执行巡检无: 将附件中该文件复制到该路径下,修改权限和属组(rwx------  1 omm wheel    41446 Apr  7 16:38 libffi.so.6),完成后在FusionCare页面开始对接环节执行巡检
  • [技术干货] 利用Python进行数据清洗的操作指南(转)
    你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程的基础。 机器学习模型会根据你提供的数据执行,混乱的数据会导致性能下降甚至错误的结果,而干净的数据是良好模型性能的先决条件。 当然干净的数据并不意味着一直都有好的性能,模型的正确选择(剩余 20%)也很重要,但是没有干净的数据,即使是再强大的模型也无法达到预期的水平。在本文中将列出数据清洗中需要解决的问题并展示可能的解决方案,通过本文可以了解如何逐步进行数据清洗。缺失值当数据集中包含缺失数据时,在填充之前可以先进行一些数据的分析。 因为空单元格本身的位置可以告诉我们一些有用的信息。 例如:NA值仅在数据集的尾部或中间出现。 这意味着在数据收集过程中可能存在技术问题。 可能需要分析该特定样本序列的数据收集过程,并尝试找出问题的根源。如果列NA数量超过 70–80%,可以删除该列。如果 NA 值在表单中作为可选问题的列中,则该列可以被额外的编码为用户回答(1)或未回答(0)。missingno这个python库就可以用于检查上述情况,并且使用起来非常的简单,例如下图中的白线是 NA:import missingno as msno msno.matrix(df)对于缺失值的填补计算有很多方法,例如:平均,中位数,众数kNN零或常数等不同的方法相互之间有优势和不足,并且没有适用于所有情况的“最佳”技术。具体可以参考我们以前发布的文章异常值异常值是相对于数据集的其他点而言非常大或非常小的值。 它们的存在极大地影响了数学模型的性能。 让我们看一下这个简单的示例:在左图中没有异常值,我们的线性模型非常适合数据点。 在右图中有一个异常值,当模型试图覆盖数据集的所有点时,这个异常值的存在会改变模型的拟合方式,并且使我们的模型不适合至少一半的点。对于异常值来说我们有必要介绍一下如何确定异常,这就要从数学角度明确什么是极大或极小。大于Q3+1.5 x IQR或小于Q1-1.5 x IQR都可以作为异常值。 IQR(四分位距) 是 Q3 和 Q1 之间的差 (IQR = Q3-Q1)。可以使用下面函数来检查数据集中异常值的数量:def number_of_outliers(df):      df = df.select_dtypes(exclude = 'object')      Q1 = df.quantile(0.25)     Q3 = df.quantile(0.75)     IQR = Q3 - Q1      return ((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).sum()处理异常值的一种方法是可以让它们等于 Q3 或 Q1。 下面的lower_upper_range 函数使用 pandas 和 numpy 库查找其外部为异常值的范围, 然后使用clip 函数将值裁剪到指定的范围。def lower_upper_range(datacolumn):     sorted(datacolumn)     Q1,Q3 = np.percentile(datacolumn , [25,75])     IQR = Q3 - Q1     lower_range = Q1 - (1.5 * IQR)     upper_range = Q3 + (1.5 * IQR)     return lower_range,upper_range  for col in columns:       lowerbound,upperbound = lower_upper_range(df[col])     df[col]=np.clip(df[col],a_min=lowerbound,a_max=upperbound)数据不一致异常值问题是关于数字特征的,现在让我们看看字符类型(分类)特征。 数据不一致意味着列的唯一类具有不同的表示形式。 例如在性别栏中,既有m/f,又有male/female。在这种情况下,就会有4个类,但实际上有两类。这种问题目前没有自动处理的办法,所以需要手动进行分析。 pandas 的unique函数就是为了这个分析准备的,下面看一个汽车品牌的例子:df['CarName'] = df['CarName'].str.split().str[0] print(df['CarName'].unique())df.loc[df['CarName'] == 'maxda', 'CarName'] = 'mazda' df.loc[df['CarName'] == 'Nissan', 'CarName'] = 'nissan' df.loc[df['CarName'] == 'porcshce', 'CarName'] = 'porsche' df.loc[df['CarName'] == 'toyouta', 'CarName'] = 'toyota' df.loc[df['CarName'] == 'vokswagen', 'CarName'] = 'volkswagen' df.loc[df['CarName'] == 'vw', 'CarName'] = 'volkswagen'无效数据无效的数据表示在逻辑上根本不正确的值。 例如,某人的年龄是 560;某个操作花费了 -8 小时;一个人的身高是1200 cm等;对于数值列,pandas的 describe 函数可用于识别此类错误:df.describe()无效数据的产生原因可能有两种:1、数据收集错误:例如在输入时没有进行范围的判断,在输入身高时错误的输入了1799cm 而不是 179cm,但是程序没有对数据的范围进行判断。2、数据操作错误数据集的某些列可能通过了一些函数的处理。 例如,一个函数根据生日计算年龄,但是这个函数出现了BUG导致输出不正确。以上两种随机错误都可以被视为空值并与其他 NA 一起估算。重复数据当数据集中有相同的行时就会产生重复数据问题。 这可能是由于数据组合错误(来自多个来源的同一行),或者重复的操作(用户可能会提交他或她的答案两次)等引起的。 处理该问题的理想方法是删除复制行。可以使用 pandas duplicated 函数查看重复的数据:df.loc[df.duplicated()]在识别出重复的数据后可以使用pandas 的 drop_duplicate 函数将其删除:df.drop_duplicates()数据泄漏问题在构建模型之前,数据集被分成训练集和测试集。 测试集是看不见的数据用于评估模型性能。 如果在数据清洗或数据预处理步骤中模型以某种方式“看到”了测试集,这个就被称做数据泄漏(data leakage)。 所以应该在清洗和预处理步骤之前拆分数据:以选择缺失值插补为例。数值列中有 NA,采用均值法估算。在 split 前完成时,使用整个数据集的均值,但如果在 split 后完成,则使用分别训练和测试的均值。第一种情况的问题是,测试集中的推算值将与训练集相关,因为平均值是整个数据集的。所以当模型用训练集构建时,它也会“看到”测试集。但是我们拆分的目标是保持测试集完全独立,并像使用新数据一样使用它来进行性能评估。所以在操作之前必须拆分数据集。虽然训练集和测试集分别处理效率不高(因为相同的操作需要进行2次),但它可能是正确的。因为数据泄露问题非常重要,为了解决代码重复编写的问题,可以使用sklearn 库的pipeline。简单地说,pipeline就是将数据作为输入发送到的所有操作步骤的组合,这样我们只要设定好操作,无论是训练集还是测试集,都可以使用相同的步骤进行处理,减少的代码开发的同时还可以减少出错的概率。
  • [技术干货] 基于Python实现将列表数据生成折线图
    主要是给自己的记录,顺便分享一下。主要使用到的库是:pandas、matplotlib。#!/user/bin/env python# coding=utf-8"""@project : csdn@author  : 剑客阿良_ALiang@file   : draw_pic.py@ide    : PyCharm@time   : 2022-03-23 09:38:28"""import pandas as pdfrom matplotlib import pyplot as plt _dates = ['2022-03-22 16:45:08', '2022-03-22 16:46:08', '2022-03-22 16:47:08', '2022-03-22 16:48:08',          '2022-03-22 16:49:08', '2022-03-22 16:50:08', '2022-03-22 16:51:08', '2022-03-22 16:52:08',          '2022-03-22 16:53:08', '2022-03-22 16:54:08']_data1 = [1, 2, 4, 6, 3, 2, 5, 7, 8, 0]_data2 = [0, 9, 8, 2, 1, 0, 6, 5, 2, 1] di = pd.DatetimeIndex(_dates,                      dtype='datetime64[ns]', freq=None) pd.DataFrame({'data1': _data1},             index=di).plot.line()  # 图形横坐标默认为数据索引index。#plt.savefig(r'data/p1.png', dpi=200)plt.show()  # 显示当前正在编译的图像 pd.DataFrame({'data1': _data1, 'data2': _data2},             index=di).plot.line()  # 图形横坐标默认为数据索引index。#plt.savefig(r'data/p2.png', dpi=200)plt.show()  # 显示当前正在编译的图像代码说明1、x轴的时间列表:_dates,准备了两组列表数据,需要和日期列表数量对应。2、制作了两幅图,第二幅图主要是两条线生成在一张图上。效果展示
总条数:2474 到第 页
上滑加载中