pandas基础操作大全之数据可视化

在pandas 基础操作大全之数据读取&清洗&分析中介绍了pandas常见的数据处理操作,现在继续对pandas常用的数据合并及数据可视化操作做下介绍,便于大家快速了解,也方便后续需要时快速查询。一、数据合并1.1 concat1.1.1 概述#concat是1.1.2 指定合并的轴方向--axis1.2.3 指定合并轴另外一个轴标签是否合并--join1.2.4 指定合并轴原标签是否需要变化--ignore_index1.2.5 指定1.2.6 指定合
分类: 其他 发布时间: 03-09 09:54 阅读次数: 0

python之sympy库--数学符号计算与绘图必备

在实际进行数学运算的时候,其实有两种运算模式,一种是数值运算,一种是符号运算(代数)。而我们日常使用计算机进行数值运算,尤其是比如除、开平方等运算时,往往只能得到其近似值,最终总会已一定的误差,如果使用符号运算模式,则可以完全避免此种问题。一、数学符号及符号表达式符号表达式,区别于常规的数值型数学表达式,常规数学表达式,比如x+y*2等,基本x和y是一个变量,且变量最终也会被赋值,由变量组成的表达式,最后得出的也是一个数值。而符号表达式,则真正的由符号组成,而符号无需提前赋值,由符号组成的表达式
分类: 其他 发布时间: 03-09 09:54 阅读次数: 0

python之numpy库--科学计算基础库必学(一)

numpy是Python一个非常强大的拓展库,专门用来处理数组和矩阵运算,并且提供数组和矩阵相关的大量内置函数库,其运行效率非常高,而专门进行数据分析的pandas库也是基于numpy的数据底层。可以说在处理大量数据的场景下,numpy有着绝对的应用场景,一般主要应用于以下场合:处理数组和矩阵运算等基础运算 线性代数、傅里叶变换、大量随机数生成等基础应用场景 与scipy和matplotlib库组合使用,处理科学计算相关问题,可以基本替代matlab,并且因为其可以与Python其他库(网络和数据库
分类: 其他 发布时间: 03-09 09:54 阅读次数: 0

Python包管理必备--pip命令&设置镜像源

近期周围很多朋友询问,Python如何管理包和模块,并且很多常用的包使用pip安装的时候,总是因为网络问题中断,在学习新包时造成了很大的挫败感,这些问题也是之前自己在学习过程中,遇到的痛点,所以抽出精力,整理了下之前关于这块的学习笔记,形成文章,希望给其他python道友以帮助,也给自己后续查阅带来方便。Python语言的核心能快速上手并且极具吸引力的是其异常丰富和强大的包,这些包给我们封装好了日常工作中遇到的问题或需求的各种解决方案,所以在python基础知识较为牢固时,遇到具体问题,具体学习对应的包
分类: 其他 发布时间: 03-09 09:53 阅读次数: 0

python之numpy库--科学计算基础库必学(二)

四、数组相关操作4.1 变形4.2五、数组运算5.1 位运算5.2 通用函数运算5.3 矢量运算5.3.1 广播机制5.3.2 矢量与矢量间运算5.3.3 矢量与标量间运算5.4 统计分析5.5六、线性代数相关七、读写操作...
分类: 其他 发布时间: 03-09 09:53 阅读次数: 0

python--如何将自己的包上传到PyPi并可通过pip安装

当逐渐在用python开发项目或者日常使用时,一般需要大量使用别人提供的包,这些包能高效的帮助我们快速高效的完成指定任务或者需求,不过有时也会想,自己如果能够把自己的代码打包并上传到PyPi,后续其他人也可以通过pip进行安装,在为Python做出贡献的同时,对自己也是一件很cool的事情,本文章便详细介绍如何将自己的代码打包并上传到PyPi。在这之前,也建议大家在日常使用python时,也需要有模块的思维,将最为通用的任务模块化,然后创建包,后续便可以通过导入这个包,快速进行复用。写该篇文章时,作
分类: 其他 发布时间: 03-09 09:53 阅读次数: 0

python之如何修改包导入时的搜索路径

一、模块导入时路径搜索机制1.1 默认搜索机制1.2 其他说明二、修改搜索路径2.1 通过sys.path变量修改2.2 通过PYTHONPATH变量修改
分类: 其他 发布时间: 03-09 09:53 阅读次数: 0

Mac电脑环境变量设置方法及常见环境变量说明

1
分类: 其他 发布时间: 03-09 09:52 阅读次数: 0

python装饰器全解--包含实现原理及应用场景

装饰器是Python的一大重点和难点,其允许Python实现装饰器设计模式,可以在不改变某函数结构和调用方式基础之上,为其增加新的功能,并且最大化复用新的功能装饰器在面向切面编程的场景中很有用,比如为函数增加日志记录、登录校验、权限校验等,我们可以将这些功能写成一个装饰器,然后直接应用到相应需要改功能的函数中即可,可以保证对原代码和函数零侵入。下面会详细展开讲解装饰器写法、实际应用即实现原理。一、装饰器实现原理1.1 闭包函数讲解1.2 闭包与装饰器对比1.3 wraps装饰器实现模
分类: 其他 发布时间: 03-09 09:52 阅读次数: 0

python之迭代器和生成器全解--包含实现原理及应用场景

在日常提升Python基本功的时候,可能会被Python的迭代器和生成器搞晕,之前在学习和使用时,本来for in 循环体和enumerate函数用的飞起,觉得自己已经彻底了解了Python的迭代特性,但接触了迭代器和生成器后,突然感觉懵逼,大概率会被可迭代、迭代器、生成器等概念搞的不知所向,本文就是结合日常项目应用,对Python的迭代概念进行系统性的全面解析,包括其底层实现原理,还有一些常见的应用,希望能帮助更多人,同时也算作给自己梳理思路了。一、基本概念二、迭代器三、生成器四、基本应用
分类: 其他 发布时间: 03-09 09:52 阅读次数: 0

python之json、pickle和shelve库详解

在使用Python进行网络编程或者爬取一些自己感兴趣的东西时,总避免不了进行一些数据传输、存取等问题,Python的文件对象以及其他扩展库,已经解决了很多关于文本和二进制数据存取的问题,比如网页内容、图片&音视频等多媒体内容,但这些数据基本是最终的数据形态存储,有没有办法可以存储Python本身的一些对象数据,后续在使用的时候,再直接加载为Python对象即可,本文便讲解下常用的Python对象数据存取、传输解决方案,即pickle、shelve、json。内容比较基础,也比较简单,但也是必须好
分类: 其他 发布时间: 03-09 09:52 阅读次数: 0

mybatis源码分析执行流程

前言在上一篇,我们了解了mybatis的整体执行流程,以及内部的各个组件在执行过程中的功能,下面我们来通过源码的方式对其中比较重要的几个组件在执行过程的使用进行简单的分析与说明环境准备基于第一篇搭建好的源码过程和demo,我们通过一个简单的查询进行分析,完整的代码如下:userDaopublic interface UserDao { User findUserById(int id);}MyUserMapper.xml<mapper namespace="com.congge.
分类: 其他 发布时间: 03-09 09:51 阅读次数: 0

SpringSecurity常用登录认证方案

前言在使用SpringSecurity的时候,初学者很容易被认证和鉴权两个概念搞混,本人一开始也容易犯糊涂,在这个上面纠缠了很久,简单理就是,认证理解成登录即可,鉴权的范围稍微大点,可以理解为访问服务端资源的权限,比如菜单权限,数据权限等今天要说的是SpringSecurity的认证常用的几种方式环境准备为演示方便,我们快速搭建一个demo工程,引入基本依赖:<dependencies> <dependency> <group
分类: 其他 发布时间: 03-09 09:51 阅读次数: 0

SpringSecurity权限配置详解

前言在上一篇,我们讲了一下SpringSecurity和登录认证常用的几种处理方式,SpringSecurity提供了一套完整的认证授权解决方案,注意这里是认证加授权在OA或那些比较大型的后管系统中,涉及到授权的场景随处可见,目前行业中对于授权有比较成熟的解决方案,可以rbac为核心的授权体系,或者依托于第三方框架的认证授权方案,像SpringSecurity就属于基于rbac模型的进一步封装,因此学习SpringSecurity,有必要对SpringSecurity的授权方式和使用做较多的了解环境准
分类: 其他 发布时间: 03-09 09:51 阅读次数: 0

SpringSecurity自动登录详解

前言使用SpringSecurity管理用户的登录退出功能时,其底层就会按照SpringSecurity的机制进行会话的管理,有这么一种场景,登录的用户信息需要保留10天,这样的需求该怎么实现呢?1、SpringSecurity登出功能沿用之前的案例演示工程,只需要在config方法中做如下配置即可 @Override protected void configure(HttpSecurity http) throws Exception { //登出配置
分类: 其他 发布时间: 03-09 09:50 阅读次数: 0

redis数据类型hash总结

前言redis在互联网公司的项目中基本上都会使用到,这得益于redis丰富的数据结构和高效的底层存储结构,接下来会通过几篇文章探讨并总结一些redis在实际项目中的使用环境准备window或者linux下,安装一个redis服务,linux下可以参考网上的安装教程,windows下直接官网下载后,双击bin目录下的redis.bat即可运行同时为方便java中使用redis的操作与学习,使用springboot快速搭建一个工程,以便对比需要导入的基本依赖, <dependencies&
分类: 其他 发布时间: 03-09 09:50 阅读次数: 0

redis数据类型list总结

前言在上一篇,我们简单介绍了redis数据类型中的String和hash两种常用数据类型的使用,本篇继续探讨redis数据结构中的另一种,list 列表list简介Redis列表是简单的字符串列表,可以按照插入顺序排序。list存储多个数据,对进入list存储结构区域的数据通过先后顺序进行区分底层采用类似双向链表的结构实现一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)基本操作操作list时,既然说到底层是双向链表结构,就存在一个左和右的
分类: 其他 发布时间: 03-09 09:50 阅读次数: 0

redis数据类型set总结

前言在上一篇中,我们简单探讨了list的结构和基本使用,了解数据结构的同学对链表的操作应该不陌生,链表的遍历平均时间复杂度为o(n),这就是说,在redis的list结构中,当集合中的数据量比较大的时候,遍历时性能可能会成为瓶颈,因此,是否有更高效的数据结构可以使用呢?redis中还有一种数据类型,那就是set,set底层基于hash表存储,并且数据不重复,相比list,在数据的遍历上,hash的结构更高效Set简介Set 是 String 类型的无序集合,且集合成员唯一,这就意味着集合中不能出现
分类: 其他 发布时间: 03-09 09:50 阅读次数: 0

redis优化查询的两种方式

前言一般来说,查询成为很多应用对外的性能瓶颈,其主要原因在于一旦并发量上来了,应用后台和数据库或者其他的存储服务的IO交互次数增多了,而服务器的线程资源开销是有限的,如何减少IO次数,这是优化要考虑的一个重要问题使用redis也是如此,试想某些功能的数据使用了缓存,大量的并发请求过来时,是否可以考虑将同类型的数据查询一次性的提交给redis得到查询结果而不是逐个通过get(key)的方式获取更好呢?下面介绍两种在java中优化查询的方式1、使用multiget批量查询多个key新增工具类@Com
分类: 其他 发布时间: 03-09 09:49 阅读次数: 0

tomcat请求处理过程源码分析

前言在之前的篇章中,基本上了解了tomcat的整体架构,并通过源码调试的方式分析了tomcat初始化过程中各个组件主要做的事情,我们知道,tomcat作为一款企业应用级的容器,其最重要的功能就是发布应用,接收客户端的请求并响应,但是从tomcat底层其究竟是怎么从接收一个请求到最后响应给客户端,这个过程是怎么执行的呢?本篇通过源码的方式简单分析一下环境准备编写一个简单的web工程,使用本地的tomcat部署起来并运行,由于这个过程比较简单,相信做过web应用开发并使用tomcat部署过项目的同学都知道
分类: 其他 发布时间: 03-09 09:49 阅读次数: 0