前话:回归人口上线咯,今后相关学习笔记更新在公众号,距离之前已经有三年了,今天带来机器学习相关环境搭建以及np和pd库简单使用



找到anaconda安装目录的scripts目录,我这里安装目录D:\Anaconda\Scripts为例加入win的环境变量
我的电脑-属性-高级系统设置-环境变量-设置conda的安装目录(D:\Anaconda\Scripts)为环境变量加入path

#查询conda环境列表
conda env list
#切换conda环境
activate envName
#创建新的环境
conda create --name yourEnv python=2.7–name:
pip install numpy,pandas -i https://pypi.tuna.tsinghua.edu.cn/simple整数型
a=1
b=2
print(a+b) #3
元组
a=[1,2,3]
print(type(a),a)
b=[x+10 for x in a ] # a中每个x+10
print(b,type(b))
函数
def add(x1,x2):
return x1+x2;
print(add(8,2.3))
引入库文件
\
#库文件引入
import random
m=random.random();
print(m)
npy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
npy库主要用于n维数组,矩阵,生成随机数,线性代数计算等用途
女朋友库安装
pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
简单测试
import numpy as npy
x=npy.ones(5)
print(x) #生成5个一维的1

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
| 名称 | 描述 |
|---|---|
| object | 数组或嵌套的数列 |
| dtype | 数组元素的数据类型,可选 |
| copy | 对象是否需要复制,可选 |
| order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
| subok | 默认返回一个与基类类型一致的数组 |
| ndmin | 指定生成数组的最小维度 |
#一维
import numpy as np
a = np.array([1,2,3])
print (a)
# [1 2 3]
# 多于一个维度
import numpy as np
a = np.array([[1, 2], [3, 4]])
#print (a) // 两行两列数据
#[[1 2]
# [3 4]]
# 最小维度
import numpy as np
a = np.array([1, 2, 3, 4, 5], ndmin = 2)
print (a)
#二维数据 [[1 2 3 4 5]]

numpy.empty(shape, dtype = float, order = 'C')
import numpy as np
x = np.empty([3,2], dtype = int)
print (x)
np.zeors 用0填充
np.ones用1填充

普通数组转np数组
numpy.asarray(a, dtype = None, order = None) 参数说明,a元组或列表名称,类型,顺序(按行或列在计算机内存中表示)
实例
#一维数组
a=[1,2,3,4,5]
a=np.array(a)
# [1 2 3]
#二维数组
a=[[1,2],[3,4]]
a=np.array(a)
# [[1 2]
[3 4] ]
#元组转array
a=(1,2,3,4)
a=np.array(a)
# [1 2 3 4]

| 函数 | 描述 |
|---|---|
dot | 两个数组的点积,即元素对应相乘。 |
vdot | 两个向量的点积 |
inner | 两个数组的内积 |
matmul | 两个数组的矩阵积 |
determinant | 数组的行列式 |
solve | 求解线性矩阵方程 |
inv | 计算矩阵的乘法逆矩阵 |
实例
import numpy.matlib
import numpy as np
a = np.array([[1,2],[3,4]]) 2行2列矩阵a
b = np.array([[11,12],[13,14]]) 2行2列矩阵b
print(np.dot(a,b)) 矩阵a*b
print(np.inner(a,b))//矩阵ab的内积
print(np.inv(a)) // a的逆矩阵
使用np解线性方程组
import numpy as np
a = np.array([[1,1,1],[0,2,5],[2,5,-1]])
print ('数组 a:')
print (a)
ainv = np.linalg.inv(a)
print ('a 的逆:')
print (ainv)
print ('矩阵 b:')
b = np.array([[6],[-4],[27]])
print (b)
print ('计算:A^(-1)B:')
x = np.linalg.solve(a,b)
print (x)
# 这就是线性方向 x = 5, y = 3, z = -2 的解

NumPy 提供了标准的三角函数:sin()、cos()、tan()。
import numpy as np
a = np.array([0,30,45,60,90])
print ('不同角度的正弦值:')
# 通过乘 pi/180 转化为弧度
print (np.sin(a*np.pi/180))
print ('\n')
print ('数组中角度的余弦值:')
print (np.cos(a*np.pi/180))
四舍五入函数
舍入函数
numpy.around() 函数返回指定数字的四舍五入值。
//numpy.around(a,decimals)
取整函数 np.ceil,np.floor
np.ceil 向上取整,np.floor向下取整

NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。

最大值np.amin(),np.amax()用于计算数组中的元素沿指定轴的最大/小值`
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
#安装
pip install pandas
#导入
import pandas as pd
类似表格中一列,函数如下:pandas.Series( data, index, dtype, name, copy)
实例
import pandas as pd
a=[1,2,3]
myPd=pd.Series(a)
print(myPd)
运行结果

import pandas as pd
a=[1,2,3]
myPd=pd.Series(a,index=['x','y','z'])
print(myPd[y]) #输出指定索引
运行结果

pandas.DataFrame( data, index, columns, dtype, copy)
#pandas.DataFrame( data, index, columns, dtype, copy)
data=[['张三',52],['杰克马',60],['小马pony',55]]
df=pd.DataFrame(data,columns=['name','aghe'],dtype=int)
print(df)
运行结果

#通过arrays创建
data={
'name':['abc','adjhasd','黄寺大街','谁打的死','杰瑞'],
'age':[28,35,16,70,22],
'sex':['男','女','女','男','未知']
}
df=pd.DataFrame(data)
print(df)

读取文件
import pandas as pd
df = pd.read_csv('nba.csv')
df.head() #预览数据默认头5条,可以设置参数
df.tail() #读取末尾n条,默认5条
保存数据
import pandas as pd
df = pd.read_csv('nba.csv')
data=df.drop('index) 删除index列
data.to_csv('newData.csv') 存入新的csv文件
url读取json
import pandas as pd
URL = 'https://xxx.com/sites.json'
df = pd.read_json(URL)
print(df)
#matplotlib引入
import matplotlib
#导入pyplot
from matplotlib import pyplot as plt
绘图简易流程
flag1=plt.figure(figsize=(10,5))
#plt.plot(x,y)#展示数据.连接
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.scatter(x,y)#散点图
plt.title('x->y')
plt.xlabel('x')
plt.ylabel('y')
plt.show()







