跳过正文

Python数据分析

·694 字·2 分钟·
目录

一、 numpy
#

  1. 下标提取

    # x为开始位置,y为结束位置,z为步长
    a[x:y:z]
    # 逗号前为行,后为行
    a[x:y:z,x1:y1:z1]
    # 取出满足x>3并且x<10的元素
    a[(x > 3) & (x < 10)]
  2. 反转数组

    z = z[::-1]
  3. 改变数组形状

    reshape(3,3)
  4. 找出不为0的数,返回下标

    np.nonzero([1,2,0,0,4,0])
  5. 随机生成3*3*3的矩阵

    np.random.random((3,3,3))
  6. 提取主对角线上面/下面斜线的元素

    # -1:主对角线下面,1:主对角线上面,0:主对角线
    np.diag(x, k=-1/1/0)
  7. 创建一个只包含主对角线元素的n*m矩阵(其他元素为0)

    # 负数:主对角线向下偏移,0:主对角线,正数:主对角线向上偏移
    np.eye(n,m,k=负数/0/正数)
  8. 创建一个矩阵(基于另外一个矩阵重复reps次)

    # 重复矩阵A(reps=数字:单纯重复次数,reps=(y,x):重复行y次,列x次)
    np.tile(A,reps)
  9. 矩阵相乘

    np.dot(A,B)
  10. 获取日期

    #(今天,昨天,明天)
    yesterday = np.datetime64('today') - np.timedelta64(1)
    today     = np.datetime64('today')
    tomorrow  = np.datetime64('today') + np.timedelta64(1)
    #某一个月所有的日期(np.arange('2016-07', '2016-08', dtype='datetime64[D]'))
    np.arange('某个月','下个月',dtype='datetime64[D]')
  11. 随机生成均匀分布的矩阵

    np.random.uniform(low,high,size)
  12. 生成不包含x,y的在x到y的z个数的线性数组

    np.linspace(x,y,z,endpoint=False)[1:]
  13. 快速计算小数组求和

    Z = np.arange(10)
    np.add.reduce(Z)
  14. 矩阵只读

    Z.flags.writeable = False
  15. 将矩阵的最大值改成x

    Z[Z.argmax()] = x
  16. 找出矩阵中最接近x的值

    Z.flat[np.abs(Z - x).argmin()]
  17. 找到在矩阵中最接近给定值的值

    Z.flat[np.abs(Z - 给定值).argmin()]

二、pandas
#

  1. 提取某一列含有nan的行

    df[df['col_name'].isnull()]
  2. 统计某一列不同元素的个数

    df['col_name'].value_counts()
  3. 将某一列元素值对应更改(映射更改某列)

    df['col_name'].map({'old_value1': new_value1, 'old_value2': new_value2})
  4. 某一列元素值直接替换

    df['col_name'].replace('old_value', 'new_value')
  5. 生成数据透视表

    df.pivot_table(index='col_name1', columns='col_name2', values='col_name3', aggfunc='method_name')
  6. 找到某一列最大的几个元素

    df['col_name'].nlargest(num)
  7. 拆分某一列(按照字符串拆分)

    t = df['col_name'].str.split('',expand=True)
    t.columns = ['col_name1','col_',...]
  8. 删除某一列

    del df['col_name']
  9. 获取不连续位置数据集

    df[['col_name1','col_name2'...]]
  10. 获取内层索引数据

    df[:,'inner_index_name']
作者
Azur Tian
一个要成为海贼王的男人!

相关文章

Oracle命令

·382 字·1 分钟
1、查看表中索引 # 显示索引名称,索引作用的列 select * from user_ind_columns where table_name='表名'; 显示索引的具体信息(创建时间、类型、内存大小) select * from all_indexes where table_name='表名'; 2、删除序列 # delete sequence 序列名; 3、查看存储过程/触发器编译错误信息 # select * from SYS.USER_ERRORS where NAME=upper('出错的名称(触发器/存储过程m)'); 4、约束条件相关操作 # 查看表的约束条件 select * from user_constraints where table_name='表名'; 删除约束条件 alter table 表名 drop constraint 约束条件名; 失效约束条件 alter table 表名 disable constraint 约束条件名; 生效约束条件 alter table 表名 enable constraint 约束条件名; 5、查看所有存储过程、触发器、视图、表 # select * From user_triggers; --所有触发器 select * From user_procedures; --所有存储过程 select * From user_views; --所有视图 select * From user_tables; --所有表 6、查看当前数据库连接的sid实例 # select instance_name from v$instance; 7、查看用户拥有的表空间 # select tablespace_name from user_tablespaces;

SpringMVC学习

·3171 字·7 分钟
执行流程 # DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求 假设URL为:http://localhost:8080/SpringMVC/hello 如上URL拆分为三部分 http://localhost:8080服务器域名 SpringMVC部署在服务器上的web站点 hello表示控制器 通过分析,url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器 HandlerMapping为处理器映射,DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器 HandlerExecution将解析后的信息传递给DispatcherServlet HandlerAdapter表示处理适配器,其按照特定的规则去执行Handler Handler让具体的Controller执行 Controller将具体的执行信息返回给HandlerAdapter HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名 视图解析器将解析的逻辑视图名传给DispatcherServlet DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图 最终视图呈现给用户 基于XML实现 # 1.引入相关依赖 # <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 2.创建类 # public class HelloController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ModelAndView mv = new ModelAndView(); //业务代码 String result = "你好,我是MVC"; mv.addObject("msg",result); //视图跳转 mv.setViewName("test"); return mv; } } 3.配置web.xml文件 # <!--配置DispatcherServlet,这个是sptingmvc的核心--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--DispatcherServlet要绑定的spring配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <!--启动级别:1--> <load-on-startup>1</load-on-startup> </servlet> <!-- springmvc中, / /* /:只匹配所有的请求,不会去匹配jsp页面 /*:匹配所有的请求,包括jsp页面 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 4.配置springmvc-servlet.xml文件 # <!--处理器映射器--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!--处理器适配器--> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!--处理器解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!--创建对象--> <bean id="/hello" class="org.learn.demon.HelloController"/> 5.创建jsp文件 # <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> ${msg} </body> </html> 6.配置Tomcat服务器 # 添加服务器之后,到工程结构,浏览tomcat打包的war包中有没有lib文件,没有就创建一个,把所有需要的jar包放进去

Spring学习

·6333 字·13 分钟
IOC # 基本概念 # 控制反转(Inversion of Control,缩写为IoC),面向对象编程的一种设计原则,可以用来减低计算机代码之间的耦合度。最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫依赖查找(Dependency Lookup)。 通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。 IOC思想基于IOC容器完成,IOC容器底层就是对象工厂 Spring提供IOC容器实现两种方式 # BeanFactory:IOC容器基本实现,是spring内部的使用接口,不提供开发人员进行使用(加载配置文件的时候不会创建对象,在获取对象才去创建对象)