资源 Github,kaggle
Python 工具库 :Numpy,Pandas,Matplotlib,Scikit-Learn,tensorflow
Numpy 支持大量维度数组与矩阵运算 ,也针对数组提供大量的数学函数库
Numpy :
1.aaa = Numpy.genfromtxt(“文件路径”,delimiter = “,”,dtype = str)
割,dtype 指定类型 该函数能读取文件所以内容
aaa.dtype 返回 aaa 的类型
delimiter 以指定字符分
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 = np
随机函数 aaa = numpy.random.random((3,3)) 生成三行三列
linspace 等差数列创建函数 linspace(起始值,终止值,数量)
aaa = numpy.ones((3,3,3),dtype = numpy.int) 需要指定 dtype 为 numpy.int
矩阵乘法:
aaa = numpy.array([[1,2],[3,4]])
bbb = numpy.array([[5,6],[7,8]])
print(aaa*bbb)
print(aaa.dot(bbb))
print(numpy.dot(aaa,bbb)) 同上
*是对应位置相乘
.dot 是矩阵乘法 行乘以列
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) 返回从小到大的索引值
位置不同 值不共用
object 就是 string 类型
pandas
1.pandas 数据读取
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
#plt.plot()
#plt.show()
aaa = pd.read_csv('AA00001.csv') 读数据
#print(aaa.head(10))
first_twelve = aaa[111:121]
plt.plot(first_twelve["direction_angle"],first_twelve["lat"]) 绘制一个曲线图
导入 matplotlib
读前 10 输出
ax.bar(位置,)
plt.xticks(rotation = 90)
plt.xlabel("direction_angle")
plt.ylabel("lat")
plt.title("AA00001")
plt.show()
调节 x 轴字体的角度
x 轴的标题
y 轴的标题
标题
显示图片
子图操作
fig = plt.figure() 指定一个绘制的区间
fig = plt.figure(figsize = (12,12))
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()
figsize 指定区间的长和宽
控制分布区间位置
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
import seaborm as sns
sns.set_style(“whitegrid”) 设置可选风格
white
dark
ticks