python数据分析与挖掘实战第二章

一、python数据挖掘相关扩展库

扩展库 简介
numpy 提供数组支持,以及相应的高效的处理函数
Scipy 提供矩阵支持,以及矩阵相关的数值计算模块
Pandas 强大、灵活的数据分析和可视化工具
Statsmodels 统计建模和计量经济学,包括描述统计、统计模型估计和推断
Scikit-Learn 支持回归、分类、聚类等的强大的机器学习库
Kears 深度学习库,用于建立神经网络以及深度学习模型
Gensim 用来做文本模型的库,文本挖掘可能用到

二、numpy的基本操作

在这里插入代码片
import numpy as np
a=np.array([2,0,1,5])   #创建数组
print(a)`               #输出数组
print(a[:3])            #切片,输出数组前三个值
print(a.min())          #输出数组中的最小值`
print(a.max())`         #输出数组中的最大值
a.sort()                #将a的元素从小到大排序,吃操作直接修改a.
b=np.array([1,2,3],[4,5,6])#创建二维数组
print(b*b)              #输出数组b的平方阵,即[[1,4,9],[16,25,36]

参考链接:http://reverland.org/python/2012/0822/numpy/
2.numpy的基本用法
(1)a.ndim:维度数,也表示轴的个数,在python中被称作秩
(2)a.shape:该数组几行几列,行在前列在后。
(3)a.size:数组元素的总个数,等于shape属性中元组元素的乘积。
(4)a.dtype:描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型
(5)a.itemsize:数组中每个元素的字节大小.
(6) import numpy和from numpy import *的区别 :
import numpy:如果使用numpy的属性都需要在前面加上numpy
from numpy import *:则不需要加上numpy
后者不建议使用,如果下次引用和numpy里的函数一样的情况,就会出现命名冲突。
(7)a.np.arange(x1, x2, n)和a.np.linspace(x1, x2, n)

import numpy as np
e = np.arange(10, 30, 5)
f = np.linspace(10, 20, 30)
a = arange(6)
# 当arange使用浮点数参数时,由于有限的浮点数精度,通常无法预测获得元素个数。因此,最好
# 使用函数linspace去接收我们想要的元素个数来代替用range来指定步长。
print(f)
print(e)
print(a)
'''结果:
[10. 10.34482759 10.68965517 11.03448276 11.37931034 11.72413793
 12.06896552 12.4137931 12.75862069 13.10344828 13.44827586 13.79310345
 14.13793103 14.48275862 14.82758621 15.17241379 15.51724138 15.86206897
 16.20689655 16.55172414 16.89655172 17.24137931 17.5862069 17.93103448
 18.27586207 18.62068966 18.96551724 19.31034483 19.65517241 20.]
[10 15 20 25]
[0, 1, 2, 3, 4, 5]'''

(8)打印数组:

import numpy as np
a=np.arange(12).reshape(3,4)
b=np.arange(24).reshape(2,3,4)
print(a)
print(b)
'''结果:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
 [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]
  [[12 13 14 15]
   [16 17 18 19]
   [20 21 22 23]]]'''

3.numpy的基本运算:

import numpy as np
a=np.array([0,1,2,3])
b=np.array([20,30,31,32])
c=b-a
print(b<31)
print(c)
'''结果:
[ True  True False False]
[20 29 29 29]'''

(2)numpy的乘法和矩阵的乘法

import numpy as np
a=np.array([[0,1],[1,2]])
b=np.array([[2,3],[3,4]])
print(a*b)            #numpy的乘法一定要满足行数和列数要分别相等。
c=np.dot(a,b)         #矩阵的乘法一定要满足a的列与b的行数相等,
print(c)
'''结果:
[[0  3]
 [3  8]]
[[3  4]
 [8  11]]'''

4.切片和索引
(1)一维数组可以被索引、切片和迭代,就像列表和其它Python序列,多维数组可以每个轴有一个索引。这些索引由一个逗号分割的元组给出。

import numpy as np
a=np.array([[0,3],[1,2],[2,5]])
print(a)
print(a[2,1])
print(a[0:3,1])
print(a[-1])#当少于轴数的索引被提供时,确失的索引被认为是整个切片
print(a[-2])#(-1)表示最后一行,(-2)倒数第二行
'''结果:
[[0 3]
 [1 2]
 [2 5]]
 5
 [3 2 5]'''

5.视图(view)和浅复制(修改现变量,原变量跟着一起变化)

import numpy as np
a=np.array([[0,3],[1,2],[2,5]])
c=a.view()#不同的数组对象分享同一个数据。视图方法创造一个新的数组对象指向同一数据。
print(c is a)
print(c.base is a)
'''结果:
False
True'''

(1)深复制:copy(),修改现变量,原变量不会发生改变

import numpy as np
a=np.array([[0,3],[1,2],[2,5]])
c=a.copy()
p
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值