## numpy学习(处理数字性数据)
1.np.array()把内容变成数组
2.t1.dtype可以显示其类型
3.np.astype可以把类型改变
4.保存固定位的小数
np.round(range(10),3)
## numpy学习(处理数字性数据)
1.np.array()把内容变成数组
2.t1.dtype可以显示其类型
3.np.astype可以把类型改变
4.保存固定位的小数
np.round(range(10),3)
### 总结四种方法
matplotlib.plot()折线图
matplotlib.bar 条形图
matplotlib.scatter 散点图
matplotlib.hist 直方图
更多绘图软件:Aoache ECharts
#### 绘制直方图
组数=极差/组距
#### 条形图
plt.bar 竖着的条形图,线条粗细是width(线条的宽度)
plt.barh 横着的条形图,线条粗细成了height(线条的高低)
plt.grid 是添加网格,alpha是透明度
#### 散点图是plt.scatter
遗忘知识点:
plt.legend(loc="uppper left",prop=my_font)
###
plt.grid绘制网格
plt.grid(alpha=0.5)#alpha这个代表透明度
plt.plot(linestyle=':')表示折线变成虚线
color=''#线条颜色
linestyle=''#折线的形式
linewidth=5#线条粗细
alpha=0.5#透明度
以上都是放在plt.plot中的
# 函数rotation=90旋转的度数
###调整x或者y轴上的参数
1.from matplotlib import pyplot as plt引入函数
2.plt.figure(figsize=(20,8),dpi=80)
#figurezide图片大小,(长,宽),dpi越大越不容易失真
from matplotlib import pyplot as plt x=range(2,26,2) y=[15,13,14,5,17,20,25,26,26,27,22,18,15] #设置图片大小 #figurezide图片大小,(长,宽),dpi越大越不容易失真 plt.figure(figside=(20,8),dpi=80) #绘图 plt.plot(x,y) #设置x轴 _xtick_labels=[i/2 for i in range(2,49)] plt.xticks(_xtick_labels[::3]) #保存 #plt.savefig("./t1.png") #展示 plt.show()
时间复杂度
numpy数组
1、
选择行,
选择列
选择行列
hist 直方图
from matplotlib import pyplot as plt
from matplotlib import font_manager
a=[zifuchuan]
plot.hist(a.fenzushu)
细节
计算组数=num_bin= (max(a)-nim(b)//d)
d=5
组数= 极差/组距
x轴的刻度设置
plt.xticks(range(min(a),max(a)+d,d))
plt.show()
图形大小:plt.figure(figsze=(20,8),dpi=80)
{数据}
python内置类型性能分析:
timei模块
可以用来测试一小段python代码的执行速度
class timeit.Timer(stmt='pass',setup='pass',timer=<timer function>)
Timer:是测量小段代码执行速度的类
stmt:参数是要测试的代码语句
setup:参数是运行代码时需要的设置
timer:参数是一个定时函数,与平台有关
消耗时间大小:
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
数据结构与算法:
算法是一种独立的解决问题的方法和思想,语言并不重要,重要的是思想
算法的五大特性:
1.输入:算法具有0个或多个输入
2.输出:算法至少有1个或多个输出
3.有穷性:算法在有限的步骤之后就会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间范围内
4.确定性:算法中的每一步都有确定性的含义,不会出现二义性
5.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
数组的形状
shape即可查看数组的各个维度长度(输出按三维二维依次降低,块、行、个)
reshape方法可以重新设置行列,是有返回值的,而不改变本身
有返回值才会输出
结合shape和reshape可以做到在不清楚维度长度的情况下降维
flatten可以将数组展开变成一维
数组的计算
numpy数组对数字进行+*-/计算,是对全部单元进行计算
nan>>not a number 0/0
inf>>infinite x/0
数组对数组进行计算:
不同维度的数组进行计算至少有一个维度的长度相同
广播会在缺失或者长度为1的维度上进行(不同维度的计算本质上是广播)
广播原则:如果两个数组的后缘维度,即从末尾开始算起的维度轴长相符,或者某一方的长度为1,即广播jian'r
一维数组只有0轴,二维有0、1轴,三维有0、1、2轴
reshape(0,1,2),shape输出(2,1,0)
CSV逗号分隔值文件
numpy的读取文件方法
unpack参数实现行列转置
transpose,T,swapaxes(1,0)方法实现行列转置
numpy的索引和切片
索引从0开始
2:取得连续多行,[[2,5,6]]多一个[]取得不连续的行
:,1取得单列
:,1:取得连续列
:,[]取得不连续列
取得行列交叉的内容
取得不相邻的点
mysql数据查询
条件查询:
比较条件: > < = != <> 跟在where后面
in 查询 指定一个数据容器
between 表示一个区间 1到10 还可以表示时间范围
null值的判断 如果是一个空值对象的话 用is判断
如果是空字符串的话,则使用 = 判断
排序 order by 【asc升序 desc降序】可以指定多个字段排序;
聚合函数:
count()
max()
min()
length()
sum()
avg()
round()
date()
substr() left right
分组和分页
分组 group by
as 取别名
分组条件的筛选 where having
where 跟在from后面
having跟在group by后面
limit分页 select * from student limit start(起始位置) count(读取数量)
连接查询
内连接:inner join 两种表共同的数据
左连接:left join 参考左边的表为基准查询表,右边的表用null填充;
右连接 right join 参考右边的表为基准查询表,左边的表用null填充
子查询
1、标量查询 一行一列查询 单个值
2、列级子查询 一行多列 多个值
3、行级子查询 多行一列
4、表级子查询 多行多列【用来做数据源】
保存查询结果:
insert into 表名 select 查询来充当数据源;
union去重输出
union all 输出多次查询的结果;
Linux操作系统遵循posix。应用程序与内核的应用。