呆鸟的Python数据分析

【复习】mysql+python基础应用(20190815)

2019-08-15  本文已影响0人  X_Ran_0a11

一、mysql:

1.1深入浅出:
1.2 必知必会:
1.3 经典50题

之后我才发现,用left join可以解决这个问题:
select a.sid,(count(*))rank01 from sc a left join sc b where a.cid=01 and b.cid=01 and a.score<=b.score group by a.sid;(额。。。)

用自联结+sum case是很通用的方法:
select a.sid,(sum(case when a.score <b.score then 1 else 0 end)+1)rank01 from sc a,sc b where a.cid=01 and b.cid=01 group by a.sid;


image.png

..............................
b.2 有相同排名,也连续编号(dense_rank):
思路:先distinct分数排名,再联结
..............................
b.3 组内排名:
思路1:先分组,再排序,再union一起;
思路2:自联结+left join/sum case+groupby

总结下排序问题:在允许rank()over的情况下就尽情使用,不允许的话:1、@a:=@a+1方法比较粗暴,但是写起来有点复杂;2、如果没有两个第一名,用联结+count()的方法是最简单的方法;3、如果有两个第一名,用联结+sum case是通用的方法,也是最不会错的方法。

1.4 leecode
delete from person where id not in (select min(id) id from person group by email);

是错误的,因为min(id)是聚集函数,外面还得再包一层select * from

二、python

2.1 python菜鸟+应用

看多少遍都不为过,要经常复习
tips:多行注释用ctrl+/,或者打三引号

2.1.1 7大类型(6+1)

number,string,tuple是不可变类型
list,set,dictionary是可变类。

增删查改看这个表

image.png
2.1.2 运算符

7种运算符类型:


image.png

需要注意的是,两个数值的时候 &、|是位运算,如果是逻辑变量,&、|可以当逻辑运算符,而且实际应用其实更广泛,尤其是在dataframe的时候,很多时候都只能用这种逻辑运算,不能用and和or。

2.1.3 控制与循环
2.1.4 函数
2.1.4.1 基础问题
2.1.4.2 内置常用函数

(这个很重要,其实介绍完几个类型之后,就应该介绍这个的,这几个基本上都是适用于list的,因为list迭代和索引起来都最方便)

2.1.5 模块

就三点:

2.1.6 输入输出
2.1.7 其他
2.2 pandas
2.2.1 基本操作

ps,dtype显示的类型一般有int/float/bool/时间类型/object类型以及其他扩展类型,所以如果是数值类型他会明确显示(int/float/bool,因为pandas是基于numpy开发的诶),其他的一般会显示为object

2.2.2 实际应用中常用的函数
2.3 numpy(数据分析用的很少,可能在数据挖掘和机器学习才会多)
2.4 可视化

三、常用排序算法

四、两个案例分析

五、python和mysql的时间函数及字符串函数比较

https://www.jianshu.com/p/52fb1f812286
https://www.jianshu.com/p/91a1ecd57b0d

5.1 时间函数
5.2 字符串函数
上一篇 下一篇

猜你喜欢

热点阅读