Python的函数大全

Python的函数

eye()

numpy.eye(N, M=None, k=0, dtype=<class ‘float’>, order=‘C’)
取回一个单位矩阵

参数:
 N int 返回数组行数

可选参数:
 M:列数,无则默认为N
 k:对角线的索引
 dtype:返回数组的数值类型
 order可选参数{‘C’,‘F’}:是否在内存中以C或fortran(行或列)顺序存储多维数据

import numpy as np
A=np.eye(3,6,dtype=int,k=1)
print(A)

输出:
array([[0, 1, 0, 0, 0, 0],
   [0, 0, 1, 0, 0, 0],
   [0, 0, 0, 1, 0, 0]])

read_cav()

panda.read_cav(path,sep/demlimiter,header,names,index_col,usecols,encoding)
读取csv,txt文档生成 DataFrame

参数:
 path:路径
 header:将指定行的数据作为读取数据各列的列名,默认参数为0
 names:对列名进行命名

可选参数:
 sep/demlimiter:分隔符/定界符
 k:对角线的索引
 index_col:利用读取数据中的内容建立行的索引
 usecols:选定我们需要的对应列的数据

import pandas as pd
path = 'D:\Desktop\py_test\ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])

head()

DataFrame.head(n)
返回数据前n行

参数:
 N int 默认为5

import pandas as pd
path = '/home/mw/ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])
print(data.head(3))

输出:
  Population   Profit
0   6.1101   17.5920
1   5.5277   9.1302
2   8.5186   13.6620

plot()

matplotlib.pyplot.plot(x,y,kind,label,figsize(x,y))
画二维平面图,结合matplotlib.pyplot.show()使用
需要matplotlib的子库pyplot库

参数:
 x=‘x轴名称’
 y=‘y轴名称’

可选参数:
 kind:‘line’, ‘bar’, ‘barh’, 密度图’kde’, 散布图’scatter’
 label:标记图内容的标签文本
 figsize(x,y):指定width和height的inch
 ls:折线图的线条风格 ls=“-”
 lw:折线图的线条宽度  lw=2
 color:线条颜色

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

path = 'D:\Desktop\py_test\ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])
data.plot(kind='scatter', x='Population', y='Profit', figsize=(10,6), label='data')
plt.show()

输出:
绘画结果

power()

numpy.power(x,y,z)
求幂

参数:
 x,y:数字,列表

import numpy as np
# 2的3次方
print(np.power(2, 3))
# [ 8 27 64],分别求 2, 3, 4 的 3 次方
print(np.power([2,3,4], 3))
# [ 4 8 16],分别求 2的 2, 3, 4 次方
print(np.power(2, [2,3,4]))
# [ 8 81],分别求 2 的 3 次方和 3 的 4 次方
print(np.power([2,3], [3,4]))

insert()

list.insert(index,object)
DataFrame.insert(index,‘str’,value)
insert(arr, obj, values, axis=None)
在列表指定位置插入指定对象

参数:
 index:插入的索引位置
 object:要插入的列表对象
 arr:需要插入的数组
 obj:向数组中插入值的位置
 values:往数组中插入的值
 axis:可选,默认为None按行插入,axis=1时按列插入

原文链接:https://blog.csdn.net/qq_44444503/article/details/124181479

aList = [123, 'xyz', 'zara', 'abc']
# 索引从0开始
aList.insert( 3, 2009)

# 插入DataFrame,则插入一列名为str的value值
data.insert(0, 'Ones', 1)
print(data.head())

输出:
 Ones Population   Profit
0   1   6.1101   17.5920
1   1   5.5277   9.1302
2   1   8.5186   13.6620
3   1   7.0032   11.8540
4   1   5.8598   6.8233

shape()

DataFrame.shape(n或array)
输出 行 / 列数

参数:
 n:0输出行数,1输出列数
 array:输出矩阵的行、列数

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 输出(4,3)
print(x.shape)
# 输出4
print(x.shape[0])
# 输出3
print(x.shape[1])

iloc()

pandas.DataFrame.iloc[row selection, column selection]
pandas.DataFrame.iloc[a:b, c:d]
列表切片

参数:
 row:前行后列

import numpy as np
import pandas as pd
path = 'D:\Desktop\py_test\ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])
# 选择第2列
y = data.iloc[:,1]
# 选择第2列
y = data.iloc[:,1:2]
# 选择第2列
y = data.iloc[:,1]
# 选择从开头到第2行
y = data.iloc[:2,]
# 选择从开头到第2行,第2列到最后
y = data.iloc[:2,1:]
# 选择从第1行到第3行、第3列到第4列的数据
y = data.iloc[0:3,2:4]
# 选择从第1行到第4行、第3列到第5列的数据
y = data.iloc[[0:3],[2:4]]

matrix()

numpy.matrix(array_like_value)
创建二维矩阵


matrix是array的分支,array的优势就是不仅仅表示二维,还能表示3、4、5…维


matrix的优势就是相对简单的运算符号,如矩阵相乘用符号*,但是array相乘得用方法.dot()

返回值:
 一个矩阵

参数:
 N int 返回数组行数

  1. class numpy.matrix(data,dtype,copy):返回一个矩阵,其中data为ndarray对象或者字符形式;dtype:为data的type;copy:为bool类型。

  2. 矩阵的换行必须是用分号(;)隔开,内部数据必须为字符串形式(‘ ’),矩阵的元素之间必须以空格隔开。

  3. 矩阵中的data可以为数组对象。
    原文链接:https://blog.csdn.net/pipisorry/article/details/48791403

import numpy as np
# 创建二阶矩阵
a = np.matrix('1 2; 3 4')
# 根据DataFrame数据创建矩阵
X = data.iloc[:,:-1]
X = np.matrix(X.values)

sum()

numpy.sum(array)
numpy.sum(array,array_axis)
矩阵内数据求和,或是矩阵内某一轴的数据求和

参数:

  1. array:使用array/matrix生成矩阵作为参数代入

  2. (array,array_axis):当多维矩阵时,可用于矩阵降维(合并高维)。
    3维:2轴列,1轴行,0轴页
    可合并列,保留其他两轴

原文链接:https://blog.csdn.net/qq_46212154/article/details/120707761

import numpy as np
a = np.array([[[1,2,3,4,5],[5,4,3,2,1],[1,1,1,1,1]],[[5,4,3,2,1],[1,2,3,4,5],[1,1,1,1,1]]])
# 三维矩阵输出格式为(2,3,5)
print(a.shape)
# 输出每个数之和:70
print(np.sum(a))
# 输出三维矩阵合并列之后的二维矩阵
print(np.sum(a,axis = 2))
输出:
[[15 15  5]
 [15 15  5]]

len()

len(list / dict / touple / str / matrix)
python中求长度的库函数

参数:
参数为矩阵matrix时,返回行数
类似于data.shape[0] ?

原文链接:https://blog.csdn.net/zfhsfdhdfajhsr/article/details/109815525

import numpy as np
X = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12],
              [9, 10, 11, 12],
              [9, 10, 11, 12]])
length = len(X)  # 返回对象的长度   不是元素的个数
print("length of X:", length)
输出:
length of X: 5

zeros()

numpy.zeros(n, dtype=float, order=‘C’)
numpy.zeros((a,b), dtype=[(‘x’, ‘int’), (‘y’, ‘float’)])
创建指定长度/形状、类型的全零矩阵

参数:

  1. n:创建全0的一维数组

  2. (a,b):指定矩阵的shape

  3. dtype:可选参数,返回的数组内数据的数据类型,默认是float

  4. order:可选参数,与C语言类似,C代表行优先,F代表列优先

原文链接:https://blog.csdn.net/weixin_44884379/article/details/112170531

import numpy as np
np.zeros(3)
# array([0., 0., 0.])
# 注意zeros(n)生成数组时,输出的array.shape为(n,),表示n列的行矩阵
np.zeros((3,3))
# array([[0., 0., 0.],
#        [0., 0., 0.],
#        [0., 0., 0.]])
np.zeros((3,1))
# array([[0.],
#        [0.],
#        [0.]])
np.zeros((3,1),dtype=[('x', 'int'), ('y', 'float')]) 
#可分别指定x和y的数据类型,结果返回的数据类型为numpy的数据类型
# array([[(0, 0.)],
#        [(0, 0.)],
#        [(0, 0.)]], dtype=[('x', '<i4'), ('y', '<f8')])

range()

range(n)
range(start, stop[, step])
创建指定长度/形状、类型的全零矩阵

返回值:
 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表

参数:

  1. n:从0开始的类似列表

  2. start:计数从 start 开始。默认是从 0 开始。

  3. stop:计数到 stop 结束,但不包括 stop

  4. step:步长,默认为1

原文链接:https://www.runoob.com/python3/python3-func-range.html

print(list(range(10)))

r = 'rbasjfdiafdfiasjd'
for i in range(len(r)):
    print(r[i])

linspace()

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
生成均匀分布的数值序列

参数:

  1. start:开始数值
  2. stop:结束数值
  3. num:默认是50个样本点(数据),为正整数
  4. endpoint:默认为True,如果改为Fasle取不到右端点
  5. restep:步长,如第一个数据和第第二个数据之间的距离
  6. dtype:可以设置数值类型

原文链接:https://blog.csdn.net/qq_39432161/article/details/84673127

import numpy as geek 
x = np.linspace(1,20,20)
print(x)
# 输出[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.]

min / max()

DataFrame.min()
返回所求axis的最小值

原文链接:https://blog.csdn.net/qq_39432161/article/details/84673127

import pandas as pd

path = 'D:\Desktop\py_test\ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])

print(data.Population.min())
# 输出Population的最小值

subplots()

matplotlib.pyplot.subplots(nrows ncols)
既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象

返回值:
 fig , ax
 fig: 图形对象
 ax:返回axes.Axes对象或Axes对象数组,包含等于nrows * ncols的轴对象的元组,每个轴对象都可通过索引访问

参数:
 nrows, ncols:这些参数是子图网格的行数/列数
 sharex, sharey:控制x(共享x)或y(共享)轴之间的属性共享,默认为False,用来指定各子图之间是否共用xy轴属性

原文链接1:https://blog.csdn.net/ccc369639963/article/details/123003382
原文链接2:https://vimsky.com/examples/usage/matplotlib-pyplot-subplots-in-python.html

x = np.linspace(data.Population.min(), data.Population.max(), 100)
f = g[0, 0] + (g[0, 1] * x)

fig, ax = plt.subplots(figsize=(12,8))
ax.plot(x, f, 'r', label='Prediction')
ax.scatter(data.Population, data.Profit, label='Traning Data')
ax.legend(loc=2)
ax.set_xlabel('Population')
ax.set_ylabel('Profit')
ax.set_title('Predicted Profit vs. Population Size')
plt.show()

legend()

matplotlib.pyplot.ax.legend(loc=1/2/3/4)
图上标明图例,文字显示意义

参数:
 loc:如legend(loc=2),说明在第二象限

原文链接:https://wenku.baidu.com/view/6c1bfe84b3717fd5360cba1aa8114431b80d8e5a.html

mean()

DataFrame.mean()
mean()
求行/列平均值

参数:
 DataFrame.mean():
  无参数/DataFrame.mean(0):根据每列输出平均值
  DataFrame.mean(1):根据每列输出平均值
 mean(matrix,axis=0) 其中 matrix为⼀个矩阵,axis为参数:
  不设置axis:对矩阵每个数求均值,返回一个实数
  axis=0:对每一列求均值,返回一个行矩阵
  axis=1:对每一行求均值,返回一个列矩阵

原文链接1:https://blog.csdn.net/Ricardo_ChenM/article/details/110927533
原文链接2:https://wenku.baidu.com/view/8ddd8082f624ccbff121dd36a32d7375a417c6bb.html

import pandas as pd

path = 'D:\Desktop\py_test\ex1data1.txt'
data = pd.read_csv(path,header=None,names=['Size', 'Bedrooms', 'Price'])
# 按列输出平均值
print(data.mean(0))
# 按行输出平均值
print(data.mean(1))

std()

**DataFrame.std(axis=None, skipna=None, level=None, ddof=1, numeric_only=None, kwargs)
返回请求轴上的样品标准偏差

返回值:
 Series或DataFrame

原文链接:https://vimsky.com/examples/usage/python-pandas-dataframe-std.html

inv() / pinv()

numpy.linalg.inv(Matrix)
numpy.linalg.pinv(Matrix)
求矩阵的 逆 / 伪逆

返回值:
 对应的逆矩阵的数组

参数:
 Matrix:要计算逆的矩阵数组

原文链接1:https://blog.csdn.net/weixin_43977640/article/details/109908976
原文链接2:https://blog.csdn.net/caomin1hao/article/details/81131382
原文链接3:https://iowiki.com/numpy/numpy_inv.html

import numpy as np 
x = np.array([[1,2],[3,4]]) 
y = np.linalg.inv(x) 

print np.dot(x,y)

dot()

numpy.dot(value / array / list / matrix)
求数组 / 矩阵的乘积

参数:
 value标量:返回乘法结果
 array一维数组 / 列表:返回内积
 matrix二维数组 / 矩阵:返回矩阵乘法的结果矩阵

原文链接1:https://blog.csdn.net/qq_42842335/article/details/83781528
原文链接2:https://wenku.baidu.com/view/9174a938c6da50e2524de518964bcf84b9d52d18.html

import numpy as np 
a.dot(b)
# 等于 np.dot(a,b)
A@X
# A 和 B 都是二维 array,那么 dot 就是它们的矩阵乘积

isin()

pandas.DataFrame.isin(self, values)
返回具有指定条件的DataFrame

参数:
 values:iterable, Series, DataFrame或dict
  values是Series,那就是索引
  values是一个dict,则键必须是必须匹配的列名
  values是DataFrame,则索引标签和列标签都必须匹配

原文链接1:https://blog.csdn.net/weixin_39626690/article/details/110758929
原文链接2:https://blog.csdn.net/W_weiying/article/details/84618685

import pandas as pd
# IN [1]: data
# Out[1]: 
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
target_data1 = data[data['A'].isin([4,8])]
# 返回值满足,{A列含有数值[4,8]}
# Out[2]: 
   A  B   C   D
1  4  5   6   7
2  8  9  10  11
target_data2 = data[~data['A'].isin([4,8])]
# #逆函数 剔除{A列含有数值[4,8]}的dataframe
# Out[3]: 
   A  B  C  D
0  0  1  2  3

scatter()

matplotlib.pyplot.scatter(x, y, s, c, marker, …, label)
画散点图

参数:
 x,y:输入数据
 s:点的大小
 c:颜色
 marker:点的样式
 label:标签

原文链接1:https://www.jb51.net/article/127806.htm

import matplotlib.pyplot as plt
positive = data[data['Admitted'].isin([1])]
negative = data[data['Admitted'].isin([0])]

fig, ax = plt.subplots(figsize=(12,8))
ax.scatter(positive['Exam1'], positive['Exam2'], s=50, c='b', marker='o', label='Admitted')
ax.scatter(negative['Exam1'], negative['Exam2'], s=50, c='r', marker='x', label='Not Admitted')

log()

numpy.log(类似array)
计算对数 / 自然对数ln()

原文链接1:https://wenku.baidu.com/view/252dc19266ce0508763231126edb6f1aff00712b.html
原文链接2:https://blog.csdn.net/u011699626/article/details/118885071

exp()

numpy.exp(x / matrix)
返回输入数组中所有自然底数 e 的幂

参数:
 x:返回标量
 matrix:返回一个同型矩阵,其中每个数都取对应的自然底数的幂

原文链接:https://vimsky.com/examples/usage/numpy-exp-python.html

import numpy as np 
in_array = [1, 3, 5] 
out_array = np.exp(in_array) 
print ("Output array : ", out_array)
# 输出
Output array :  [   2.71828183   20.08553692  148.4131591 ]

fminunc()

fminunc()
工程最优化,求最值

参数:

  1. fminunc(‘程序名’, x0):需要预先把函数存入一个程序中,x0=n个变量
  2. fminunc(‘程序名’, x1, xn):求函数在区间[x1,xn]的最小值
  3. fminunc(‘程序名’, x0, A, b):有约束条件的最优化问题
    A为系数矩阵
    b为常数项列向量
    x0为初试向量

fmin_tnc()

scipy.optimize.fminunc(func, x0, fprime=None, args=())
python中对fminunc函数的替代,工程最优化,求最值

参数:

  1. func:优化的目标函数
  2. x0:初值
  3. fprime:提供优化函数func的梯度函数
  4. args:元组,是传递给优化函数的参数

返回值:
 返回:(array([-5.48743618, 6.23719559, 5.56645627]), 71, 4)
  x :数组,返回的优化问题目标值
  nfeval :整数,function evaluations的数目

在进行优化的时候,每当目标优化函数被调用一次,就算一个function evaluation。在一次迭代过程中会有多次function evaluation。这个参数不等同于迭代次数,而往往大于迭代次数。

原文链接1:https://blog.csdn.net/weixin_39861920/article/details/110542452
原文链接2:https://www.cnblogs.com/tongtong123/p/10634716.html

map()

map(function, iterable)
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表 迭代器。

参数:

  1. function:函数
  2. iterable:一个或多个序列

返回值:
 Python 2.x 返回列表。
 Python 3.x 返回迭代器。

原文链接:https://www.runoob.com/python/python-func-map.html

def square(x) :         # 计算平方数
	return x ** 2
	
print(map(square, [1,2,3,4,5]))    # 计算列表各个元素的平方
# 输出<map object at 0x100d3d550>   返回迭代器
print(list(map(square, [1,2,3,4,5])))   # 使用 list() 转换为列表
# 输出[1, 4, 9, 16, 25]
print(list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])))   # 使用 lambda 匿名函数
# 输出[1, 4, 9, 16, 25]

drop()

pandas.DataFrame.drop(labels=None, axis=0, index=None, columns=None,inplace=False)
删除表中指定行 / 列

参数:

  1. labels:要删除的标签名,可直接写:‘target_label’
  2. axis:axis=0表示行,axis=1表示列
  3. columns:列名,效果类似于labels
  4. index:表示dataframe的index, 如index=1, index=a
  5. inplace:True表示删除某行后原dataframe变化,False不改变原始dataframe

原文链接:https://blog.csdn.net/W_weiying/article/details/84626260

import pandas as pd
path = 'D:\Desktop\py_test\ex2data2.txt'
data = pd.read_csv(path,header=None,names=['Test 1', 'Test 2', 'Accepted'])
data.drop('Test 1', axis=1, inplace=True)

zip()

zip(iterable, …)
python 2.x版本的zip()函数会直接返回列表,python3.x版本会返回zip对象,但是不论哪个版本所包含的元素是一样的都是元组类型

参数:

  1. iterable,… 表示多个列表、元组、字典、集合、字符串
  2. zip(*iterable, …):反过来将zip解压为元组

原文链接1:https://blog.csdn.net/weixin_47906106/article/details/121702241
原文链接2:https://www.jb51.net/article/234749.htm

x = [1,2,3]
y = [4,5,6]
for i in zip(x,y):
    print(i)
# 输出(1, 4) (2, 5) (3, 6)
x_cord, y_cord = zip(*(x,y))
print(x_cord, y_cord)
# 输出(1, 2, 3) (4, 5, 6)

loadmat()

scipy.io.loadmat(path / file_name)
加载 MATLAB 文件

参数:

  1. path:相对地址 / 绝对地址
  2. file_name:mat 文件的名称

返回值:
 以变量名作为键的字典

原文链接1:https://vimsky.com/examples/usage/python-scipy.io.loadmat.html
原文链接2:https://blog.csdn.net/qq_43524683/article/details/105674621

from scipy.io import loadmat
data = loadmat('D:\Desktop\py_test\ex3data1.mat')
# 输出:
{'__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Sun Oct 16 13:09:09 2011', '__version__': '1.0', '__globals__': [],
 'X': array([[0., 0., 0., ..., 0., 0., 0.],
            [0., 0., 0., ..., 0., 0., 0.],
            [0., 0., 0., ..., 0., 0., 0.],
            ...,
            [0., 0., 0., ..., 0., 0., 0.],
            [0., 0., 0., ..., 0., 0., 0.],
            [0., 0., 0., ..., 0., 0., 0.]]), 
 'y': array([[10],
            [10],
            [10],
            ...,
            [ 9],
            [ 9],
            [ 9]], dtype=uint8)}

arange()

numpy.arange(begin, end, step)
生成带起点和终点的特定步长的排列

参数:

  1. 只有一个参数,则这个参数为终点。起点默认为0,步长默认为1
  2. 有两个参数,第一个参数为起点,第二个参数为终点,步长默认为1。默认取值左闭右开
  3. 有三个参数,第一个参数为起点,第二个参数为终点,第三个参数为步长。步长支持小数。

返回值:
 <class ‘numpy.ndarray’>:一个特殊的numpy数据类型,他是一个多维数组

原文链接:https://blog.csdn.net/qq_39072607/article/details/89320992

import numpy as np
# 输出[0 1 2 3 4]
print(np.arange(5))
# 输出[2 3 4]
print(np.arange(2,5))

choice()

numpy.random.choice(a, size=None, replace=True, p=None)
从给定的1维数组中生成随机样本

参数:

  1. a:一维数组或int整数,采样的样本
  2. size:int(例如1,2,3)或int型的元组(例如:(1,2,3) ),采样的大小,如果不填默认返回一个随机样本
  3. replace:采样是否有放回,即是否有重复样本
  4. p:采样概率,None表示均匀采样

返回值:
 <class ‘numpy.ndarray’>:默认为一维的int或者数组

原文链接1:https://blog.csdn.net/weixin_41377182/article/details/124851878
原文链接2:https://blog.csdn.net/Ahead_J/article/details/85302137

import numpy as np
a = [1, 1, 2, 3, 4, 5]
data = np.random.choice(a, 3, replace=False)
print(data)
# 输出:
# [5 4 3]
# [1 2 4]

matshow()

**matplotlib.pyplot.matshow(A, fignum=None, kwargs)
用于在新图形窗口中将数组表示为矩阵

参数:

  1. A:这是一个类似于对象的数组,代表矩阵。它是必需的参数
  2. fignum:它接受三个值,即“ None”,“ False”或整数值。如果将该值设置为“无”,则将使用自动编号创建图形的新窗口。如果该值是非零整数,则将其绘制到与给定数字对应的图形中,或者如果不存在则创建它。如果将“ 0”设置为该参数的值,则它将使用当前轴,或者如果不存在则创建一个轴。
  3. cmap:代表一种颜色映射方式

返回值:
 返回一个Axesimage类的图像

原文链接1:http://www.manongjc.com/detail/30-dstbzbvmghemarp.html
原文链接2:https://blog.csdn.net/weixin_42474537/article/details/114410309
原文链接3:http://www.wjhsh.net/shanger-p-13021491.html

import matplotlib.pyplot as plot 
import numpy as np 

reshape()

array.reshape(value1,value2)
是数组对象中的方法,用于改变数组的形状

返回值:
 <class ‘numpy.ndarray’>

原文链接1:https://www.py.cn/jishu/jichu/22193.html
原文链接2:https://blog.csdn.net/sweat_mango/article/details/88664365

import numpy as np
# 或reshape((2,8))
arr = np.arange(16).reshape(2,8)
print(arr)
# 输出 value1 × value2 的数组
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]]

yticks()

**matplotlib.pyplot.yticks(ticks=None, labels=None, kwargs)
xticks()类似
获取或设置当前x轴刻度位置和标签。

参数:

  1. ticks:可选参数,数组,x轴刻度位置的列表。传入空列表移除所有x轴刻度
  2. labels:可选参数,数组,放在指定刻度位置的标签文本。只有当ticks参数有输入值,该参数才能传入参数
  3. **kwargs:其他关键字参数:文本属性用来控制标签文本的展示:例如字体大小、字体样式等

原文链接:https://blog.csdn.net/chongbaikaishi/article/details/109105934

multiply()

numpy.multiply(arr1, arr2)
两个数组的乘法 / 让两个矩阵同样位置的元素相乘

参数:

  1. arr1:数组或标量

返回值:
 arr1和arr2的乘积

原文链接1:https://blog.csdn.net/fukangwei_lite/article/details/122522957
原文链接2:https://vimsky.com/examples/usage/numpy-multiply-in-python.html

import numpy as geek 

in_arr1 = geek.array([[2, -7, 5], [-6, 2, 0]]) 
in_arr2 = geek.array([[0, -7, 8], [5, -2, 9]]) 
    
out_arr = geek.multiply(in_arr1, in_arr2)  
print ("Resultant output array:", out_arr) 
# 输出:
Resultant output array: [[  0  49  40]
                         [-30  -4   0]]

minimize()

scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None,hessp=None, bounds=None, constraints=(), tol=None,
callback=None, options=None)

求解约束函数最小值

参数:

  1. fun:该参数就是costFunction你要去最小化的损失函数,将costFunction的名字传给fun
  2. x0:初始化的theta,其shape必须为shape(n,)即一维数组
  3. method:该参数代表采用的方式,默认是BFGS, L-BFGS-B, SLSQP中的一种,可选TNC
  4. args:其他参数,具体指X,Y,lambda等
  5. jac:该参数就是计算梯度的函数,和fun参数类似,jac指代的gradient函数的第一个参数必须为theta且其shape必须为(n,)即一维数组,最后返回的梯度也必须为一个一维数组
  6. options:用来控制最大的迭代次数,以字典的形式来进行设置,例如:options={‘maxiter’:400}

返回值:
 res:OptimizeResult
 优化结果表示为 OptimizeResult 对象
 x :解决方案数组
 success: 指示优化器是否成功退出的布尔标志
 message:说明终止原因

原文链接1:https://blog.csdn.net/qq_38048756/article/details/103208834
原文链接2:https://vimsky.com/examples/usage/python-scipy.optimize.minimize.html

unique()

numpy.unique(ar, return_index, return_inverse, return_counts, axis)
找出数组中独一无二的元素值

参数:

  1. ar:输入数组,除非有axis的设定,否则自动扁平化为一个一维数组
  2. return_index:可选参数,bool,若为True则结果会同时返回被提取元素在原始数组中的索引值
  3. return_inverse:可选参数,bool,若为True则结果会同时返回元素位于原始数组中的索引值
  4. return_counts:可选参数,bool,若为True则结果会同时返回每个元素在原始数组中出现的次数
  5. axis:有返回值,返回一个排好序列的独一无二的数组

返回值:
 <class ‘numpy.ndarray’>包含目标数的数组

原文链接:https://wenku.baidu.com/view/9ee9175e158884868762caaedd3383c4ba4cb449.html

argmax()

numpy.argmax(a, axis)
返回axis轴方向最大值的索引

参数:

  1. a :为所需处理的矩阵
  2. axis :为处理的轴向,axis=0表示按列操作,对比当前列返回最大值的索引;axis=1表示按行操作,对比当前行返回最大值的索引

原文链接1:https://blog.csdn.net/qq_43636375/article/details/105744725
原文链接2:https://wenku.baidu.com/view/9c9d566a862458fb770bf78a6529647d2728343f.html

import numpy as np
a=np.array([1,2,3,4,5])
print(np.argmax(a))
# 输出4
b=np.array([[1,0,6,4],[9,8,2,3],[3,1,2,7]])
print(np.argmax(b,axis=0))
# 输出:
[[1 0 6 4]
 [9 8 2 3]
 [3 1 2 7]]

classification_report()

sklearn.metrics.classification_report(y_true, y_pred, labels=None, target_names=None, sample_weight=None, digits=2, output_dict=False)
在深度学习中,分类任务评价指标是很重要的,在sklearn中有自动生成这些指标的的工具,就是 sklearn.metrics.classification_report模块

参数:

  1. y_true: 类别的真实标签值,类标签的列表
  2. y_pred: 预测值的标签,类标签的列表
  3. labels: 报告中要包含的标签索引的可选列表;这个参数一般不需要设置(如果要设置,比如200个类别,那么就应该如此设置:lable= range(200); 然后在sklearn.metrics.classification_report中将labels=label),可是有的时候不设置就会出错,之所以会出错是因为:比如你总共的类别为200个类,但是,你的测试集中真实标签包含的类别只有199个,有一个类别缺失数据,如果不设置这个参数就会报错
  4. target_name: 与标签匹配的名称,就是一个字符串列表,在报告中显示;也即是显示与labels对应的名称
  5. sample_weight:设置权重的参数,一般不用
  6. digits:这个参数是用来设置你要输出的格式位数
  7. output_dict:如果为True,则将输出作为dict返回

Notice:现在不再有micro avg了,因为这个指标指的是全体样本的准确率,所以简化成了一个指标accuracy

返回值:
 accuracy:表示准确率,也即正确预测样本量与总样本量的比值
 macro avg:表示宏平均,表示所有类别对应指标的平均值
 weighted avg:表示带权重平均,表示类别样本占总样本的比重与对应指标的乘积的累加和

 precision:精确度,正确预测为正的,占全部预测为正的比例
 recall:召回率,正确预测为正的,占全部实际为正的比例
 f1-score:精确率和召回率的调和平均数,2 * precision*recall / (precision+recall)

原文链接1:https://blog.csdn.net/comway_Li/article/details/102758972
原文链接2:https://www.jianshu.com/p/757dfef76e13
原文链接3:http://t.zoukankan.com/cgmcoding-p-13518979.html

# 输出报告
          precision    recall  f1-score   support

     1       0.95      0.99      0.97       500
     2       0.95      0.92      0.93       500
     3       0.95      0.91      0.93       500
     4       0.95      0.95      0.95       500
     5       0.92      0.92      0.92       500
     6       0.97      0.98      0.97       500
     7       0.95      0.95      0.95       500
     8       0.93      0.92      0.92       500
     9       0.92      0.92      0.92       500
    10       0.97      0.99      0.98       500
accuracy                         0.94      5000    
macro avg    0.94      0.94      0.94      5000
weighted avg 0.94      0.94      0.94      5000

OneHotEncoder()

sklearn.preprocessing.OneHotEncoder(categories=‘auto’, sparse=‘True’, dtype=‘float’)
将分类特征编码为one-hot数字数组
此处用于将y从50001转换为500010的数组
这个转换器的输入应该是一个类似数组的整数或字符串,表示分类(离散)特征所采用的值。使用 one-hot(又名“one-of-K”或“dummy”)编码方案对特征进行编码。这将为每个类别创建一个二进制列并返回一个稀疏矩阵或密集数组(取决于sparse 参数)。
默认情况下,编码器根据每个特征中的唯一值派生类别。或者,您也可以categories 手动指定。

参数:

  1. categories :默认’auto’,根据根据训练数据自动确认类别;默认数组的列表,categories[i]保存第 i 列中预期的类别。传递的类别不应在单个特征中混合字符串和数值,并且应在数值的情况下进行排序
  2. sparse :默认为True,如果设置为 True 将返回稀疏矩阵,否则将返回一个数组
  3. dtype:默认为float,所需的输出数据类型

函数方法:

  1. get_feature_names() :查看拟合后的特征名称
  2. fit(X) :使X拟合OneHotEncoder
  3. fit_transform(X):数据预处理,使X拟合OneHotEncoder,并且转换X

原文链接:https://blog.csdn.net/weixin_44225602/article/details/122726150

import pandas as pd
data = {'degree':['master','master','PHD'],'grade':['A', 'B', 'C']}
df = pd.DataFrame(data)
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
enc.fit(df)

random()

numpy.random.random(size=n)
返回随机值为(0.0 , 1.0)的n维数组

参数:

  1. size:数组的大小

返回值:
 <class ‘numpy.ndarray’>

原文链接:https://blog.csdn.net/weixin_42782150/article/details/122311468

import numpy as np
data = np.random.random(size=2)
print(data)
# 输出:
[0.58530303 0.58317698]

concatenate()

numpy.concatenate((a1, a2, …), axis=0)
一次完成多个数组的拼接

numpy.append()和numpy.concatenate()两个函数的运行时间进行比较的话,numpy.concatenate()效率更高,适合大规模的数组拼接

参数:
  a1,a2……为要拼接的数组
  axis:在哪个维度上进行拼接,默认为0

原文链接1:https://blog.csdn.net/summer2day/article/details/79935058
原文链接2:https://blog.csdn.net/qq_35037684/article/details/107882261

apply()

**pandas.DataFrame.apply(func, axis=0, raw=False, result_type=None, agrs=(), kwargs)
将函数应用到由列或行形成的一维数组上

参数:
  func:函数,要应用于每一列或每一行的函数
  axis:默认为0,0对应行索引,将func函数应用于每一列;1对应列,将函数应用于每一行
  raw:布尔值,默认为False,确定行或列是否作为Series或ndarray对象传递
    False:将每一行或每一列作为一个Series对象传递给函数
    True:函数将接收ndarray对象
  result_type:可选值有expand,reduce,broadcast,None,默认为None
  args:元组,除了数组和Series之外,要传递给func的位置参数

返回值:
  func函数沿Dataframe的给定轴应用的结果

原文链接:https://blog.csdn.net/qq_38727995/article/details/124459704

norm()

numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
linalg:线性代数
norm:范数,是对向量(或者矩阵)的度量,是一个标量
计算范数

0 范数,表示向量中非零元素的个数。

1 范数,表示向量中各个元素绝对值之和。

2 范数,表示向量中各个元素平方和 的 1/2 次方,L2 范数又称 Euclidean 范数或者 Frobenius 范数。

p 范数,表示向量中各个元素绝对值 p 次方和 的 1/p 次方。

参数:
  x:表示矩阵(也可以是一维)
  ord:范数类型,默认2范数

返回值:
  矩阵的范数

原文链接1:https://blog.csdn.net/lens___/article/details/85697175
原文链接2:https://blog.csdn.net/m0_51816252/article/details/126199555

append()

List.append(element)
向列表末尾添加元素

import numpy as np

featuer1 = [-0.13, -0.0012, -0.1906, 0.02803, 0.075]
featuer2 = [-0.2302, -0.001, -0.2006, 0.01803, 0.095458]

sample_feature_list = [["Jack",featuer1], ["Jacob",featuer2]]
current =[]
for i in sample_feature_list:
    current.append(i[1])

原文链接:https://www.jb51.net/article/250221.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值