资源Github,kaggle
Python工具库:Numpy,Pandas,Matplotlib,Scikit-Learn,tensorflow Numpy支持大量维度数组与矩阵运算,也针对数组提供大量的数学函数库
Numpy :
1.aaa = Numpy.genfromtxt(“文件路径”,delimiter = “,”,dtype = str)delimiter以指定字符分割,dtype 指定类型该函数能读取文件所以内容
aaa.dtype 返回aaa的类型
2.aaa = numpy.array([5,6,7,8]) 创建一个一维数组里面的东西都是同一个类型的
bbb = numpy.array([[1,2,3,4,5],[6,7,8,9,0],[11,22,33,44,55]]) 创建一个二维数组aaa.shape 返回数组的维度print(bbb[:,2]) 输出第二列
3.bbb = aaa.astype(int) 类型转换
4.aaa.min() 返回最小值
5.常见函数
aaa = numpy.arange(20)
bbb = aaa.reshape(4,5)
numpy.arange(20) 生成0到19 aaa.reshape(4,5) 把数组转换成矩阵aaa.reshape(4,-1)自动计算列用-1
aaa.ravel()把矩阵转化成数组
bbb.ndim 返回bbb的维度
bbb.size 返回里面有多少元素
aaa = numpy.zeros((5,5)) 初始化一个全为0 的矩阵需要传进一个元组的格式默认是float aaa = numpy.ones((3,3,3),dtype = numpy.int) 需要指定dtype 为numpy.int
aaa = np
随机函数aaa = numpy.random.random((3,3)) 生成三行三列
linspace 等差数列创建函数linspace(起始值,终止值,数量)
矩阵乘法:
aaa = numpy.array([[1,2],[3,4]])
bbb = numpy.array([[5,6],[7,8]])
print(aaa*bbb) *是对应位置相乘
print(aaa.dot(bbb)) .dot是矩阵乘法行乘以列
print(numpy.dot(aaa,bbb)) 同上
6.矩阵常见操作
numpy.floor()向下取整
aaa.T 求aaa的转置
aaa.space = (行,列)
矩阵拼接numpy.hstack((a,b)) 横拼numpy.vstack((a,b)) 竖拼
矩阵切分numpy.hsplit((a,3))
a.view()浅复制位置不同但值共用
a.copy()深复制位置不同值不共用
a = numpy.arange(0,40,10)
print(numpy.tile(a,(2,2))) 按倍数扩展行和列
numpy.sort(a,axis = 1)对a进行排序
j = numpy.argsort(a) 返回从小到大的索引值
pandas
1.pandas数据读取object 就是string类型
aaa = pandas.read_csv(“food_info.csv”)读取文件aaa的类型为dataframe aaa.dtypes 返回aaa包含的数据结构
aaa.head(3)输出前3行以表格的形式默认输出5行
aaa.tail(4)输出后4行print(aaa.columns)输出第一行所以类型项(列
名)aaa.shape 输出维度
2.pandas索引与计算
aaa.loc[0]取行读取第一条数据aaa.loc[0:10] 可以用切片
aaa[“列名”]取列aaa.endswith(“指定字符”)以指定字符结尾返回true
曲线图绘制
import pandas as pd
import matplotlib.pyplot as plt 导入matplotlib
#plt.plot()
#plt.show()
aaa = pd.read_csv('AA00001.csv') 读数据
#print(aaa.head(10)) 读前10 输出
first_twelve = aaa[111:121]
plt.plot(first_twelve["direction_angle"],first_twelve["lat"]) 绘制一个曲线图
ax.bar(位置,)
plt.xticks(rotation = 90) 调节x轴字体的角度
plt.xlabel("direction_angle") x轴的标题
plt.ylabel("lat") y轴的标题
plt.title("AA00001") 标题
plt.show() 显示图片
子图操作
fig = plt.figure() 指定一个绘制的区间
fig = plt.figure(figsize = (12,12)) figsize 指定区间的长和宽a1 = fig.add_subplot(2,2,1) 控制分布区间位置
a2 = fig.add_subplot(2,2,2)
a3 = fig.add_subplot(2,2,3)
a4 = fig.add_subplot(2,2,4)
plt.show()
a1.plot(np.random.randint(1,5,5),np.arange(5),label="a")
a1.plot(np.random.randint(1,5,5),np.arange(5),label="b")
a1.plot(np.random.randint(1,5,5),np.arange(5),label="c")
a1.plot(np.random.randint(1,5,5),np.arange(5),label="d")
a1.legend(loc='best') 生成对线条的解释区域
seaborm 在matplotlib的基础上对图优化
五种风格:
darlgrid whitegrid dark white ticks import seaborm as sns
sns.set_style(“whitegrid”) 设置可选风格。