python--numpy库的学习笔记(持续更新)

一.numpy.loadtxt
numpy.loadtxt(fname, dtype=, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
1.fname:文件名及路径,例:D:\chrome\iris.data
2.dtype:数据类型
3.comments: 如果行的开头为#就会跳过该行
4.skiprows:跳过前n行,例:skiprows=2跳过前两行
5.delimiter:分隔符,默认是空格。例delimiter=’,’ 以‘,’分隔
6.converters:这个是对数据进行预处理的参数, 例:定义一个函数, 这里的converters是一个字典, 表示第零列使用函数add_one来进行预处理

def add_one(x):
    return int(x)+1  # 注意到这里使用的字符的数据结构

(a, b) = np.loadtxt('./data/test2.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True)
print(a, b)

二.np.split(ary, indices_or_sections, axis=0) :把一个数组从左到右按顺序切分
参数:
ary:要切分的数组
indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭)
axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分
重难点:
机器学习中的用法解释:
#axis=1,代表列,是要把data数据集中的所有数据按第四、五列之间分割为X集和Y集。

m = np.arange(8.0)
n = np.split(m, (3,))
print(n)
 
结果:[array([0., 1., 2.]), array([3., 4., 5., 6., 7.])]
 
机器学习中的用法解释:
#axis=1,代表列,是要把data数据集中的所有数据按第四、五列之间分割为X集和Y集。
x, y = np.split(data, (4,), axis=1)

三.numpy.ravel():将多维数组降为一维
例:

>>> x = np.array([[1, 2], [3, 4]])
>>> x
array([[1, 2],
       [3, 4]])
>>> x.ravel()
array([1, 2, 3, 4])

四:numpy.mean(a, axis, dtype, out,keepdims )

mean()函数功能:求取均值
经常操作的参数为axis,以m * n矩阵举例:

axis 不设置值,对 mn 个数求均值,返回一个实数
axis = 0:压缩行,对各列求均值,返回 1
n 矩阵
axis =1 :压缩列,对各行求均值,返回 m *1 矩阵

数组:

>>> a = np.array([[1, 2], [3, 4]])
>>> a
array([[1, 2],
       [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0) # axis=0,计算每一列的均值
array([ 2.,  3.])
>>> np.mean(a, axis=1) # 计算每一行的均值 
array([ 1.5,  3.5])

矩阵:

>>> import numpy as np
>>> num1 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
>>> num1
array([[1, 2, 3],
       [2, 3, 4],
       [3, 4, 5],
       [4, 5, 6]])
>>> num2 = np.mat(num1)
>>> num2
matrix([[1, 2, 3],
        [2, 3, 4],
        [3, 4, 5],
        [4, 5, 6]])
>>> np.mean(num2) # 对所有元素求均值
3.5
>>> np.mean(num2,0) # 压缩行,对各列求均值
matrix([[ 2.5,  3.5,  4.5]])
>>> np.mean(num2,1) # 压缩列,对各行求均值
matrix([[ 2.],
        [ 3.],
        [ 4.],
        [ 5.]])

五.numpy.size(a, axis=None)
a:输入的矩阵
axis:int型的可选参数,指定返回哪一维的元素个数。当没有指定时,返回整个矩阵的元素个数。

a = np.array([[1, 2, 3], [4, 5, 6]])
np.size(a)    # 返回值为6
np.size(a,1)    # 返回值为3
np.shape(a)    # 返回值为(2, 3)``
a.size    # 返回值为6
a.shape    # 返回值为(2, 3)

你可能感兴趣的:(python)