首页 > 代码库 > 数据分析(1)

数据分析(1)

清空变量:在IPython里输入reset再输入y

清空输入:在IPython里输入reset in再输入y

清空输出:在IPython里输入reset out再输入y

数组

1. 构建

 1.1 最普通方式

# -*- coding: utf-8 -*-
import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([[1, 2, 3, 4],[5, 6, 7, 8]])

  注意python不像matlab元素之间可以空格,这里只能逗号,数组的下标从0开始

 1.2 改变类型

np.array([[1, 2, 3, 4],[4, 5, 6, 7]], dtype=np.float)
Out[14]: 
array([[ 1.,  2.,  3.,  4.],
       [ 4.,  5.,  6.,  7.]])

np.array([[1, 2, 3, 4],[4, 5, 6, 7]], dtype=np.complex)
Out[15]: 
array([[ 1.+0.j,  2.+0.j,  3.+0.j,  4.+0.j],
       [ 4.+0.j,  5.+0.j,  6.+0.j,  7.+0.j]])

  可以通过dtype参数指定类型

 1.3 通过函数构建序列

np.arange(5)
Out[2]: array([0, 1, 2, 3, 4])

np.arange(1, 5)
Out[3]: array([1, 2, 3, 4])
np.arange(0,1,0.1)
Out[18]: array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

np.linspace(0,1,12)
Out[19]: 
array([ 0.        ,  0.09090909,  0.18181818,  0.27272727,  0.36363636,
        0.45454545,  0.54545455,  0.63636364,  0.72727273,  0.81818182,
        0.90909091,  1.        ])

np.linspace(0,1,12,endpoint=0)
Out[20]: 
array([ 0.        ,  0.08333333,  0.16666667,  0.25      ,  0.33333333,
        0.41666667,  0.5       ,  0.58333333,  0.66666667,  0.75      ,
        0.83333333,  0.91666667])

  arange通过指定初值、终值、步长来构建序列,但不包括终值

  linspace通过指定初值、终值、个数来构建序列,包括终值,可指定endpoint参数=0来不包括终值

2. 改变大小

type(a)
Out[3]: numpy.ndarray

a.shape
Out[4]: (4,)

b.shape
Out[5]: (2, 4)


b.shape=(1,-1);b
Out[9]: array([[1, 2, 3, 4, 5, 6, 7, 8]])

b.shape=(4,2);b
Out[10]: 
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])

  type函数可以看变量类型,通过对shape属性重新赋值可以改变维数,但其实并不改变内存里的位置,可以只指定行的维数,列的维数为-1,可以自动换算出列的维数(反之亦可)

数据分析(1)