7道问答题
-
贝叶斯公式算概率,某种疾病的真假阳性
有监督/无监督学习、线性/非线性分类器,解释并举例
略 总能写点儿的excel数据透视表操作,这个真心不会
不知道题目,vlookup是不是可以做?
不太了解excel 也不太想学
Excel函数之王,Vlookup到底怎么用?python实现斐波那契数列
参考:
Python中斐波那契数列的四种写法
1、直接递归写
import numpy as np
def F(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return F(n-1) + F(n-2)
n = 10
result_list = []
for i in range(1, n+1):
result_list.append(F(i))
result_list
缺点就是为了计算F(n)需要多次重复计算前边的值,浪费内存又浪费计算能力
2、循环来做
n =10
result_list1 = []
a, b = 0, 1
while n>0:
result_list1.append(b)
a, b = b, a+b
n = n-1
result_list1
3、 循环+yield关键字
yield关键字,可以在不打断循环的情况下从循环中返回数值,这个特性简直是nice,不过其返回的数据类型也变得有点特别,变成了generator,那么取值也就比以前不同了一点,这里有两种方式,第一种是直接转化为list,使用list()即可,这种方式比较快,速度消耗很小.除此之外还有第二种,return [f for i, f in enumerate(Fibonacci_Yield_tool(n))]
列表解析
def Fibonacci_Yield_tool(n):
a, b = 0, 1
while n > 0:
yield b
a, b = b, a + b
n -= 1
def Fibonacci_Yield(n):
# return [f for i, f in enumerate(Fibonacci_Yield_tool(n))]
return list(Fibonacci_Yield_tool(n))
Fibonacci_Yield(10)
4、 矩阵乘法
矩阵乘法 求斐波那契数列
def Fibonacci_Matrix_tool2(n):
Matrix = np.matrix('1 1;1 0')
return pow(Matrix, n) # pow函数速度快于 使用双星号 "**"
def Fibonacci_Matrix(n):
result_list = []
for i in range(0, n): result_list.append(np.array(Fibonacci_Matrix_tool2(i))[0][0])
return result_list
Fibonacci_Matrix(10)
- sql求全部科目大于80分的同学
1、 最简单但是效率最低的思路:
查出每门科目的大于80分的记录 用姓名进行多次连接
2、 对每个姓名进行分组 最小值大于80
select ts.name
from tab_score as ts
group by ts.name
having MIN(ts.score>=80)
3、 先查出有科目低于80分的学生 不在这些学生中即可
select distinct name
from grade
where name not in (select distinct name
from grade
where score<=80);
- sql随机抽取100个数据
select *
from 表名
order by rand()
limit 100
- 创建一个短视频类app(类似某音,某快),什么数据分析的指标比较重要,选出最重要的一个指标,如果这个指标一段时间内下降了,分析原因。
业务类的题目慢慢积累吧