总结
复习3-23的重点:
1、了解数据库,数据库管理软件,表,列,行,主键(不可重复,不可修改)概念
2、了解select语句用法,了解distinct(不重复的值,多个列要多个列都不重复),limit(限制输出行数),offset(从第几行开始,初始值0),注释的三种用法:-- # /* */
3、排序用法 order by,如果要降序order by desc,对于多个列都要降序可以加逗号,也可以直接是3,1这种数字不过不好用,多个列降序每格列后面都要加order by desc。同时order by都是用在最后面的
4、where的用法包括= != > < isnull isnotnull between
5、整理了线性模型的推导,损失函数生成,推广至广义线性回归,到logistic回归的损失函数,再模型基础上加入了L1 L2正则
心情:
看了一篇大牛写的关于自己学习工作历程,没有对比就没有伤害,同样都是差不多毕业,大学期间自己确实过得浑浑噩噩,不过都说最好的种树时间是十年前,其次是现在。最近自己也确实思考了很多关于自己的工作,生活方面的东西。虽然每天都有在学习一些东西,不过感觉自己很烦躁,心很大,什么都想学,怪自己进步太慢。或许什么都应该一步一步慢慢来吧,希望这个博客自己能够坚持下来,作为记录自己的前进的道路。
引用大牛的一句话:贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒!坚持吧!
复习3.24的重点:
1、where与and or的组合用法,了解and优先级更高,因此有需要多个条件使用时候,最好用()。使用in类似于多个or组合。not跟在条件之前,代表取反,比如not in
2、熟悉like的用法,与%结合代表匹配0次或者无限次,_代表匹配一次。[]在mysql中代表的是正则用法,regexp [] 代表匹配括号中的任意一个
3、计算字段,concat拼接用法,trim rtrim ltrim用法,了解as重命名,明白+-*/用法
4、了解函数的使用,后期重新整理一个完整的函数使用博客
复习3.26的重点:
1、复习函数的用法包括:
数学函数:abs,ceiling,exp,floor,greatest,least,ln,log(x,y),mod(x,y),pi,rand(),round(x,y),sign(),sqrt(),trancate(x,y)
聚合函数:avg,count,min,max,sum,group_concat()
字符串函数:ascii,bit_length,concat,concat_ws(),insert,find_in_set,lcase,lower,ucase,upper,left,right,length,trim,rtrim,ltrim,position,quote,replace,repeat,reverse,strcmp
2、聚集函数:avg函数用法,忽略null,count()忽略null,如果是count(1)这样不会忽略null,max,min,sum,count(distinct col)
3、分组数据:group by的用法,可以选择多个列进行分组。若要在分组完之后过滤使用having,where针对的是列,而having针对的是分组,分组之后再跟order by。排序顺序是,select from where group by having order by
4、使用子查询:与in匹配,where in (接上子查询)
5、爬虫:beautifulsoup(html.text,'lxml')使用lxml解析;soup.find_all('div',class_='')如果要继续往下找,先取出那部分转成str,再转成beautifulsoup格式解析
6、线性回归手工实现:梯度下降法:w -= a*np.dot(x.T,(np.dot(x,w)-y)) 其中a为步长,如果选择太大,会无法收敛,记得在原数据源x中增加一列1
复习3.27的重点
1、连接的用法,inner join ;left join;right join用法
2、了解组合查询,两条select 语句中加入union来拼接,列数要一致才行,这个连接会去重,不去重用union all
3、插入数据:insert into table () values ();更新数据:update table set col = '' where ;删除数据:delete from table where
4、创建表:create table name ( not null ,default 2) 更改表结构:alter table name add col int alter table name drop col 删除表 drop table 重命名 rename table name to new_name
5、日期函数:curdate,curtime,date_add
6、python 处理时间:datetime.now() now.year timedelta.days 字符串日期转化:datetime.strptime(value,'') now.strftime(' ')
复习3.28的重点
1、复习SQL的知识点:
数据库的操作:create database show databases drop database
表的操作:create table table_name ( ...) not null default value primary key() show tables show create table table_name desc table_name alter table table_name add(drop) col
reaname table old_name to new_name drop table table_name truncate table table_name
数据的操作:insert into table_name (col) values() delete from table_name where update table_name set select col from table_name
数据类型:数值型:tinyint smallint int bigint 等 浮点型:float double 字符串:char varchar text 日期时间:time datetime date
select 语句:select from where group by order by limit
视图:create view view_name as select ...
2、复习Python作图:
matplotlib常用设置:fig.set_size_inches() 设置大小 ax.set_xlabel(,fontsize=10) y轴的名称 ax.legend(['','']) 图上的标签 ax.set_xticks(np.arange()) x轴的刻度
然后再使用ax.set_xticklabels(label) 设置每个标签的具体名字 plt.yticks(fontsize = 10) 标签上面的字体大小 plt.title() 标题
多个图画法:设置宽度,然后x选择原来的x+宽度,最后再重新设置x轴 散点图如果要画趋势线用sns.regplot(x = ,y= ,data = )
多个小图画法:fig,ax = plt.subplots() 然后ax[] 来做选择
seaborn的用法:sns.set_context('paper',font_scale = 2,rc = {'lines.linewidth':4}) ptl.figure(figsieze = ()) sns.boxplot sns.violinplot() 箱型图
sns.distplot()直方图 sns.joinplot()两个变量 sns.pairplot()多个变量
复习3.29的重点
1、数据聚合和分组:df[].groupby([可以跟多个列]).mean()或者count() , sum() , median() , std() , var() 等等,也可以是自定义函数agg(lambda:)
agg()这里面如果跟着一个列表,就可以针对多个函数进行,比如[np.mean,np.max,np.min]如果要重命名,用括号加起来[('均值',np.mean),('最小值',np.min),('最大值',np.max)]
如果是要对不同的列做的话:df.groupby().agg({'':,'':}) 里面加字典,分别是列名跟要做的函数
透视表:pd.pivot_table(index,columns,values,aggfunc,margins = True,fill_value = ) 分别于Excel透视表对应一下就能理解