#!/usr/bin/env python
# coding: utf-8

# In[13]:


import numpy as np
a = np.array([
            [1,2,3], 
            [3,4,5]
             ])
a[a>2]  #布尔索引知识
a[[True,False],:2]  #布尔索引知识2
##第一步：把左边的这个表变成numpy的二维数组
import numpy as np
data = np.array([["张三", "A", 105, 4.5],
    ["李四", "B", 100, 4.6],
    ["王五", "B", 100, 4.5],
    ["赵六", "A", 116, 4.9],
    ["孙七", "B", 100, 4.5],
    ["周八", "B", 99, 4.3],
    ["吴九", "A", 120, 4.6],
    ["郑十", "A", 115, 4.8]],dtype = object)
#第二步：实现要求。
##阶梯：如果只要你找到年度目标完成率大于110的，这个能找到吗？
data1 =  data[data[:,2]>110] #第一次筛选
data2 = data1[data1[:,3]>4.5] #第二次筛选：客户满意度
data3 = data2[data2[:,1]=='A'] #第三次筛选：绩效评级
print(data3[:,0])


# In[19]:


##形状相同计算
###先定义两个一维数组
a  =  np.array([1,2,3])
b =  np.array([2,32,5])
print(a+b)
#圆圈2如下：
zengsu = (b-a)/a*100
print((b-a)/a*100)#今年每月的同步增速（相较于去年）。
####统计计算
print(np.sum(a))
print(np.min(b))#计算数组b中的最小值。
print(np.cumsum(a))
#####开始操作：
#圆圈3：
print(np.mean(zengsu))
#圆圈4
print(np.max(zengsu))
print(np.min(zengsu))


# In[28]:


#随机漫步：
##随机数
np.random.rand(3)  #rand表示产生0-1的随机数
np.random.seed(12) #随机数种子：固定后面生成的随机数
a = np.random.randint(-20,20,size=3)
print(a)

##随机数函数
print(np.abs(a))
print(np.sign(a))

#第一步：生成随机2000步的方向数
bushu  =  np.random.randint(0,2000,size=2000)
##给他变为-1和1
realbushu = np.sign(bushu)
#第二步：计算最远距离。
np.max(np.abs(np.cumsum(realbushu)))*0.5
##第一问：
max(0,max(np.cumsum(realbushu)))*0.5 #求往右边的最大距离
min(0,min(np.cumsum(realbushu)))*0.5*(-1) #求往左边的最大距离
for i in range(2000):
    if np.sum(realbushu[0:i]) >= 30 or np.sum(realbushu[:i]) <=-30：
        print(i)
        break
else:
    print('没找到')




# In[ ]:





# In[ ]:





# In[ ]:





# In[ ]:




