数据分析 Python数据分析师2020特训营-Pandas DataFrame 1Excel及CSV等数据获取与保存12345pandas内置了10多种数据源读取函数,常见的就是CSV和EXCELpandas读取出来的数据直接是数据框格式,方便后续的数据处理和分析可以快速的将数据保存为CSV或者EXCEL格式参数较多,可以自行控制,但很多时候用默认参数读取CSV时,注意编码,常用编码为utf-8,gbk,gbk2312等
更改python获取数据的路径123import osos.getcwd()os.chdir()
数据类型1234int64 float64 object:字符串或者字符datetime64:格式化后的时间timedelta64:时间戳
read_csv1pd.read_csv('xxx.csv',encoding='gbk')
,encoding123常用的有gbk gbk2312 utf-8# 数据包含中文读取报错的话,可以试试中文gbk,gbk2312编码或者utf-8
,dtype={‘xx’ ...
Python数据分析师2020特训营-Pandas DataFrame 2DataFrame数据筛选12345678order = pd.read_excel('xxx.xlsx')order.head(5)order.tail(5)order.columnsorder.dtypesorder.ndim #维度为2维order.shape # (2779,19)order.size # 52801
loc,iloc1234loc[A,B]iloc[A,B]A代表行,B代表列
12345678910data = [[1, 'Joe', 70000, 3], [2, 'Henry', 80000, 4], [3, 'Sam', 60000, ], [4, 'Max', 90000, None]]employee = pd.DataFrame(data, columns=['id', 'name', 'salary', ' ...
Python数据分析师2020特训营-Pandas DataFrame 3DataFrame数据整合1数据整合又称数据合井,将不同的数据合并在一起,这样可以将不同的信息集成在一张表上,有利于之后的分析
1常见的合并方法有堆叠和按主键进行合井,堆叠又分为横向堆叠和纵向堆叠,按主键合并类似于sql里面的关联操作
堆叠concat12345横向堆叠特两张表或多张表在X轴方向,即横向拼接在一起纵向堆叠将两张表或多张表在Y轴方向,即纵向拼接在一起注意使用concat时,axis=1用于横向,0代表纵向(默认为0)注意join取inner或者outer时:分别代表交集和并集
横向堆叠123data=pd.concat([df1,df2],axis=1,join='inner') # 按行标签取交集,行标签需要一样data=pd.concat([df1,df2],axis=1,join='outer') # 行标签一样的连接在一起,另外的类似sql全外连接
纵向堆叠1234适合各表数据意义一样,每一列名字一样和顺序一样的data=pd.concat([ ...
数据分析 Python数据分析师2020特训营-Pandas Numpy 11python中用作数据科学工作的一个库,包含大量对数据作高效处理的函数。基于numpyarray这种多维数组数据结构,对数据的运行效率比list,dict等快很多,进行向量化运算(矢量化)
数组创建和数组属性np.array(xx)12345import numpy as npnp.array([2,5,4,1]) # 里面传list或者tuple都可以np.array([2,5,4,1],dtype='float')np.array([2,5,4,1],dtype='str')np.array([[1,2,3],[4,5,6],[7,8,9]])
np.arrange(xxx)1234# 左闭右开np.arange(0,10)np.arange(0,10,2)np.arange(0,10,0.5)
np.linspace(xx)123# 用于创建等差数列 左闭又闭np.linspace(1,10,10) # 1 2 3...10np.linspace(1,10 ...
oracle数据库开发与应用 存储过程、函数和包 17存储过程存储过程的作用
123456789以上代码,可以将一些 SQL 操作集中起来。但是,如果实现PL/SQL块代码重用时,就打开SQL脚本来手工运行,这样也太麻烦了。因此,可以将一些需要反复使用的代码,指定一个名称,类似于其他编程语言中函数,调用时,用相应功能名称调用就可以了。在oracle内,提供了两种常见的对象,供实现代码重用:存储过程。将一些代码写在一个过程中,存储为数据库对象,供调用。过程没有返回值。函数。将一些代码写在一个函数中,存储为数据库对象,供调用。函数有返回值。当然,也可以用包将逻辑上相关的过程和函数组织在一起,便于对PL/SQL程序进行管理。
创建存储过程1234567存储过程用于执行某些操作,不返回任何值。其语法很简单,就是在标准PL/SQL程序块的基础上增加了一个程序头部,最简单的创建存储过程的语法如下:CREATE OR REPLACE PROCEDURE 存储过程名称AS(或者IS)变量、常量定义;BEGIN 代码;END ;
1此语法是最简单的创建存储过程的语法,更加复杂的语法将在后面讲解。
...
oracle数据库开发与应用 数据库编程 16PL/SQL编程PL/SQL编程的作用123也学过一些函数,如DECODE,具有简单的逻辑判断功能,但是,距离真正的结构化程序设计还相去甚远。于是提出这样一个问题:SQL语言是否像基本的高级程序语言一样,具有变量、运算、判断、循环等基本功能呢?本章学习的PL/SQL就解决这个问题。PL/SQL是一种程序语言,支持SQL语句的程序语言(ProgramLanguage)。PL/SQL在普通SQL语句的使用上增加了编程语言的特点,通过逻辑判断、循环等操作实现复杂的功能或者计算。
12PL/SQL是Oracle数据库独有的一种程序语言,是Oracle 数据库对 SQL语言的扩展。数据库不同,自有的PL/SQL语言语法可能有较大不同
PL/SQL 编程的优点123很明显,使用了PL/SQL编程之后,具有以下优点:能够使一组 SQL语句的功能更具模块化,便于维护,可以对程序中的错误进行自动处理,保证安全性。集成在数据库中,调用更快。通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,占用了大量的网络带宽, ...
oracle数据库开发与应用 游标和异常 19游标
oracle数据库开发与应用 触发器 181以前对数据进行操作,都是直接对数据表进行操作,只需要遵守数据表自身的约束条件就可以了。但是,实际工程中的数据操作,其对数据完整性要求的复杂度远远不止于此。
1234567例如,在数据库中,课程表内要插入一门课程,但是要求这门课程的任课教师不是符传谊。课程信息表结构如图18-1所示。按照常理,首先要在TTEACHER中查询符传谊的教师编号然后,使用约束来限制插入课程的任课教师编号。但是,查询得到结果来对数据表进行约束,需要手工去控制,非常麻烦,并且易出现错误。在之前的讲解中,介绍了表的约束CHECK。可以看出,在课程信息表中存储了教师编号,但是没有存储教师的姓名,而CHECK只能对本表中的列进行判断,无法到别的表中进行判断。于是,可以用到触发器
使用触发器12345触发器(TRIGGER),能够对数据操作、数据定义、系统事件进行校验、监控、记录,从而保证数据的完整性、提高数据库安全性。触发器的概念中,最重要的原理是“触发”,即,当发生指定的事件时,系统就会自动运行相应的程序块。以上概念的潜台词是触发器不能手工调用,只能在某件事情(如添加、删 ...
数据库系统-常用用法积累Delete注意1删除重复邮件,保留最小的id email 来自leecode
1234567891011# Write your MySQL query statement belowdelete from Person where Person.id not in (select t.id from (select p2.id from Person p2where p2.email in (select p1.emailfrom Person p1group by p1.emailhaving count(*)=1)) t)
123如果不要貌似多余的select t.id from ( 会报错--MySQL 不允许在 DELETE 语句的 WHERE 子句中直接使用正在被更新的表。
12345delete from Person where id not in ( select a.id from ( select min(id) from Person group by email a ))
1234DELETE p1 FROM Person ...
数据库系统-完整性约束参考csdn
列级约束和表级约束1234(1)对一个数据列建立的约束,称为列级约束(2)对多个数据列建立的约束,称为表级约束(3)列级约束既可以在列定义时声明,也可以在列定以后声明(4)表级约束只能在列定义后声明
1域完整性,实体完整性,参照完整性是关系模型中必须满足的完整性约束条件
实体完整性12345主键约束(PRIMARY KEY):确保每条记录的唯一性,主键字段必须是唯一的且不为空。可以是单个字段,也可以是多个字段的组合。唯一约束(UNIQUE):确保某个字段的值在整个表中是唯一的。自动增长约束(AUTO_INCREMENT):通常与主键一起使用,确保主键字段在新记录插入时自动增加。
主键约束1234唯一且不为空主键可以由一个字段组成,也可以由多个字段组成如果主键可以由一个字段组成既可以添加到列级也可以添加到表级如果由多个字段组成只能添加到表级
1234567891011121314151617181920create table 表名( 字段名 字段类型 primary key ); create table 表名( 字段名1 字段类 ...






