excel函数
count()统计数字单元格个数 counta()统计非空单元格个数 countblank()统计空单元格个数
max()统计数字单元格的最大值,即忽略文本和逻辑值,maxa()为非空单元格最大值
min()统计数字单元格的最小值,即忽略文本和逻辑值,mina()为非空单元格最小值
sum()统计数字单元格的和,文本和空值会被忽略,sumif()和sumifs()对满足条件的求和
average()统计数字单元格的平均数,相当于sum()/count(),averagea()统计非空单元格的平均数,相当于sum()/counta()
median()中值
quartile.inc(单元格,分位数),分位数0表示最小值,1表示第一个四分位点(25%),2表示中位数,3表示第一个四分位点(75%),4表示最大值
quartile.exc(单元格,分位数),分位数1表示第一个四分位点(25%),2表示中位数,3表示第一个四分位点(75%)
mode.mult()众数,众数可以是多个(ctrl+shift+enter)
frequency()求直方统计
var.s()计算给定样本的方差(忽略文本和逻辑值),vara计算给定样本(包括文本和逻辑值)的标准差,字符串和false按0计算,true按1计算
var.p()计算给定样本的方差(忽略文本和逻辑值),varpa计算给定样本(包括文本和逻辑值)的标准差,字符串和false按0计算,true按1计算
stdev.s()计算给定样本的标准差(忽略文本和逻辑值),stdeva计算给定样本(包括文本和逻辑值)的标准差,字符串和false按0计算,true按1计算
stdev.p()计算基于给定样本的总体的标准差(忽略文本和逻辑值),stdevpa计算基于给定样本的总体的标准差(包括文本和逻辑值),字符串和false按0计算,true按1计算
kurt()峰度
skew()样本偏度,skew.p()样本总体的偏度
left(范围,数值)从单元格最左侧第一个字符开始,共取n个字符
right(范围,数值)从单元格最右侧第一个字符开始,共取n个字符
trim()去掉字符串前后和中间的空格,但是字符串中间的最后一个空格无法去除
substitute(单元格,"被替换字符 ","替换字符"[,替换个数]),substitute(单元格," ","")去除空格
replace(单元格,开始替换的位置,替换个数,替换字符)
norm.s.dist(单元格,是否累计) 返回标准正太分布函数(均值为0标准差为1),最后一个参数true表示返回概率密度函数false表示返回累计分布函数
norm.dist(单元格,均值,标准误差,是否累计) 返回指定平均值和标准偏差的正态分布函数
norm.s.inv(p) 返回标准正态累积分布函数的反函数值,该分布的平均值为 0,标准偏差为 1
norm.inv(p,mean,standard_dev) 返回指定平均值和标准偏差的正态累积分布函数的反函数值
t.dist(单元格,n,false)左尾t分布,n为自由度(大于30才能看出正太分布趋势),最后一个参数可为true和false
t.dist.rt(单元格,n)右尾t分布,只有2个参数
t.dist.2t(单元格,n)双尾t分布,只有2个参数
t.inv(p,n) t 分布的左尾反函数
t.inv.2t(p,n) t 分布的双尾反函数
对于正态分布函数norm和t分布函数t来说,dist表示求给定样本值的密度,参数为true表示求概率密度,参数为false表示求累计密度即该值左侧与正态分布函数形成的图形面积,而inv则表示给定面积,求与样本的值。如下图,即dist为已知x求p,而inv则是已知p求x。
jupyter notebook --generate-config 查找jupyter配置文件位置
修改c.NotebookApp.notebook_dir = '文件保存路径'
在使用Form表单通过POST方式提交数据时,在模板中需要加上{%csrf_token%}
在ajax中,可通过$('#form').serialize()获取表单各个输入框的值,$('#form')表示通过表单的id找到表单
如果传入模板的变量为标签语言,那么在模板中显示这个变量默认只显示它原本的字符串而不会渲染成标签语言,如果希望渲染成标签语言,需要加上|safe
例如传入的变量v = "<a href='#'>上一页</a>",在模板中如果通过{{ v }}渲染,显示的会是一个字符串<a href='#'>上一页</a>,如果想要显示成链接的形式,需要通过{{ v|safe }}渲染
或者导入模块from django.utils.safestring import mark_safe,再v = mark_safe( "<a href='#'>上一页</a>"),将v传递给模板即可渲染成a标签
zip的用法
>>> v1=[1,2,3,4] >>> v2=['a','b','c','d'] >>> list(zip(v1,v2)) [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')] >>> v3=[(1,2,3),('a','b','c'),(11,22,33)] >>> list(zip(*v3)) [(1, 'a', 11), (2, 'b', 22), (3, 'c', 33)]
from django.shortcuts import render,HttpResponse
from django.http import JsonResponse
HttpResponse(字符串),用于返回内容为参数字符串的页面
render(request,'xxx.html',{'y':'y'}),用于返回模板html页面
JsonResponse(字典),用于返回内容为参数字典的页面,且会将字典转化为json格式;如果参数不为字典,需添加参数safe=False
创建模型时创建联合索引
class Meta:
unique_together=[('t','c')] #t和c表示字段名称
URL:from django.urls import reverse
url(r'^all/(?P<article_type_id>\d+).html$', home.index, name='index'),
在HTML中:{% url "index" article_type_id=1 %} ==> all/1.html
在views中:reverse('index',kwargs={"article_type_id":1}) ==> all/1.html
url(r'^all/(\d+).html$', home.index, name='index'),
在HTML中:{% url "index" 1 %} ==> all/1.html
在views中:reverse('index',args=(1,)) ==> all/1.html
数据库自带的时间截取方法:
mysql:date_format(time,'%Y-%m')
SQLLite:strftime('%Y-%m',time)