• 1. Python速成

    • 1)复杂数据类型

      • (1)元组:只读集合类型,用小括号定义,初始化后,元组的元素不能重新赋值。
      • (2)列表 : 列表只能通过中括号定义,列表的元素可以重新赋值。
      • (3)字典:可变容器模型,可存储任意类型的对象。字典的每个键值对(key,value)用冒号(:)分隔,每个键值对之间用逗号(,)分隔,整个字典包括在花括号({})中。
    • 2)with语句
  • 2.NumPy速成
    • 1)创建数组
    • 2)访问数组
    • 3)算数运算
  • 3 matplotlib速成
    • (1)绘制线条图
    • (2)绘制散点图
  • 4 Pandas速成
    • (1)Series
    • (2)DataFrame

1. Python速成

1)复杂数据类型

三种常用的数据类型:元组、列表、字典。 其中,列表字典更是经常被使用。

(1)元组:只读集合类型,用小括号定义,初始化后,元组的元素不能重新赋值。

a=(1,2,3)
print(a)
print(a[1])

执行结果如下:

(2)列表 : 列表只能通过中括号定义,列表的元素可以重新赋值

对列表增加列表项用列表的append()函数。

b=[4,5,6]
print(b)
b.append(7)
print(b)
print(b[3])

运行结果如下:

(3)字典:可变容器模型,可存储任意类型的对象。字典的每个键值对(key,value)用冒号(:)分隔,每个键值对之间用逗号(,)分隔,整个字典包括在花括号({})中。

mydic={'a':12.15, 'name':True, 'age':'18'}
print('a vales is :%d' %mydic['a'])
print('Keys: %s' %mydic.keys())
print("values :%s" %mydic.values())
for key in mydic:print(mydic[key])

删除字典中的全部元素,可以用字典自身的clear()方法
若删除字典特定的key元素,用pop(key)方法

mydic={'a':12.15, 'name':True, 'age':'18'}
print(mydic)#增加字典元素
mydic['e']=1236
print('e vales is :%d' %mydic['e'])
print(mydic)#删除字典特定的key元素
mydic={'a':12.15, 'name':True, 'age':'18'}
mydic.pop('a')
print(mydic)#删除字典中的全部元素
mydic.clear()
print(mydic)

2)with语句

语句体(with-body): with 语句包裹起来的代码块,在执行语句体之前会调用上下文管理器的__enter()__方法,执行完语句体之后会执行__exit()__ 方法。
例如对文件进行操作,可使用with语句。

with open('somefileName') as somefile:for line in somefile:print(line)

这里使用了with语句,不管在处理文件过程中是否发生异常,都能保证with语句执行完毕后关闭了打开的文件句柄。
如果使用传统的try/finally范式,则要使用如下代码:

somefile=open('somefileName')
try:for line in somefile:print(line)
finally:somefile.close()

2.NumPy速成

1)创建数组

利用NumPy创建多为数组非常简单,通过给array函数传递Python的序列对象创建数组。如果传递的是多层嵌套的序列,将创建多维数组。

#创建一维数组
import numpy as np
myarray=np.array([1,2,3])
print(myarray)
print(myarray.shape)


创建多维数组

import numpy as np
# 创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(myarray)
print(myarray.shape)

2)访问数组

对于ndarray数组的访问,可以通过数组下表访问某一行、某一列:

import numpy as np
#创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(myarray)
print(myarray.shape)#访问某一行
print('这是第一行:%s' %myarray[0])
print('这是最后一行:%s' %myarray[-1])
print('访问整列(3列)数据:%s'%myarray[:,2])
print('访问指定行(2行)和列(3列)的数据:%s'%myarray[1,2])

3)算数运算

使用NumPy的ndarray可以直接进行算数运算,或者说向量运算。

import numpy as np
#创建多维数组
myarray1=np.array([[1,2,3],[4,5,6],[7,8,9]])
myarray2=np.array([[11,22,32],[42,52,62],[72,82,92]])
print('向量加法运算:')
print(myarray1+myarray2)
print('向量乘法运算:')
print(myarray1*myarray2)

3 matplotlib速成

matplotlib是Python中著名的2D绘图库。

  • 调用plot()、scatter() 等方法, 并为绘图填充数据。数据是NumPy的ndarray类型的对象。
  • 设定数据标签,使用xlabel()、ylabel()方法;
  • 展示绘图结果,使用show()方法。

(1)绘制线条图

import matplotlib.pyplot as plt
import numpy as np
#创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])#初始化绘图
plt.plot(myarray)#设定x轴和y轴
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show()

(2)绘制散点图

import matplotlib.pyplot as plt
import numpy as np
#创建多维数组
myarray1=np.array([1,2,3])
myarray2=np.array([11,21,31])#初始化绘图
plt.scatter(myarray1,myarray2)#设定x轴和y轴
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show()

4 Pandas速成

Pandas提供了用于机器学习的复杂数据类型:矢量运算方法和数据分析方法。Pandas也提供可多种数据结构。
Pandas是一个强大的对数据进行切片的工具。

  • Series:一位数组,与NumPy中的一维array类似。二者与Python中的基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而array和Series中只允许存储相同的数据类型——更有效地使用内存、提高运算效率。
  • Time-Series: 以时间为索引的Series;
  • DataFrame: 二维的表格型数据结构;可以理解为Series的容器。
  • Panel: 三维数组,可以理解为DataFrame的容器。

(1)Series

在建立Series时可以设定index, 也可以像访问NumPy数组或字典一样来访问Series元素。

import numpy as np
import pandas as pd
myarray=np.array([1,2,3])
myindex=['a','b','c']
myseries=pd.Series(myarray,index=myindex)
print(myseries)
print("Series中的第一个元素:")
print(myseries[0])
print("Series中的c index 元素:")
print(myseries['c'])

(2)DataFrame

DataFrame是一个可以指定行和列标签的二维数组。数据可以通过指定列名来访问特定列的数据

import numpy as np
import pandas as pd
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
rowindex=['row1','row2','row3']
colname=['col1','col2','col3']
MyDataframe=pd.DataFrame(data=myarray,index=rowindex, columns=colname)
print(MyDataframe)
print('访问col3的数据:')
print(MyDataframe['col3'])

《机器学习Python实践》第4章——Python和SciPy速成相关推荐

  1. 流畅的python读书笔记-第一章Python 数据模型

    第一章 python数据类型 1 隐式方法 利用collections.namedtuple 快速生成类 import collectionsCard = collections.namedtuple ...

  2. 2的10次方-1的python表达式_第二章PythonⅠ的基本语法,python,I

    第二章 python基本语法 I 整数 交换两个变量的值 num1 = 10 num2 = 15 ##常规蛇形变换 tmp = num1 num1 = num2 num2 = tmp ##python ...

  3. Python基础练习题--第一章 Python语言入门

    第一章 Python语言入门 目录 1001:[例1.1]Hello Python 1002:[例1.2]A+B问题 1003:[例1.3]温标换算 1004:练1.1  字符三角形 1005:练1. ...

  4. python实践意义_在Python学习中过程比结果更有意义

    原标题:在Python学习中过程比结果更有意义 如果人生是一趟旅行,那我们最应该关注的是沿途的风景而不是最终的目的地.对于学习Python而言,提升自身能力.提高处理问题的速度.培养自己勤思考.善于思 ...

  5. python实践心得体会_“Python自然语言实践”——总结(一),实战

    正则表达式在NLP中的基本应用 正则表达式的作用: (1)将文档内容从非结构化转为结构化以便后续的文本挖掘 (2)去除"噪声",在处理大量文本片段的时候,有非常多的文字信息与最终输 ...

  6. Python实践-咚咚呛讲师Python进阶教程

    2.2请练习定义一个动物类,并创建出两个实例dog, cat,打印实例,再比较两个实例是否相等 class Animal(object):pass dog = Animal() cat = Anima ...

  7. python机器学习及实践_Python机器学习及实践

    Python机器学习及实践/Chapter_1/.ipynb_checkpoints/Chapter_1.1-checkpoint.ipynb Python机器学习及实践/Chapter_1/.ipy ...

  8. 机器人python极客pdf_机器人Python极客编程入门与实战

    编辑推荐 有了先进的软件.硬件开发平台,剩下的只是创意.中国人,特别是中国的年轻人,是全球富有创业.创新精神的一群人,这样的一个群体难道还会缺乏创意吗? "青少年学编程系列丛书"只 ...

  9. python第三章上机实践_《机器学习Python实践》读书笔记-第三章

    <机器学习Python实践>,第三章,第一个机器学习项目 以往目录:橘猫吃不胖:<机器学习Python实践>读书笔记-第一章​zhuanlan.zhihu.com 书中介绍了一 ...

  10. Python机器学习及实践+从零开始通往Kaggle竞赛之路

    内容简介 本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读者熟悉并且掌握当下最流行的机器学习.数 ...

最新文章

  1. 数据结构之队列、双端队列
  2. 关于node-sass安装失败的解决办法
  3. Redis-17Redis内存回收策略
  4. Linux电源管理(5)_Hibernate和Sleep功能介绍【转】
  5. ionic 混合应用开发
  6. 英文随笔(part1)
  7. python泰坦尼克号数据预测_使用python预测泰坦尼克号生还
  8. Codeforces Round #476 (Div. 2) C - Greedy Arkady
  9. mysql自连接_MySQL自连接
  10. 六元均匀直线阵的各元间距为_地采暖安装有哪些要求?盘管间距误差多少?盘管固定有何要求?...
  11. AI 假冒老板骗取 173 万!
  12. [原]浅谈几种服务器端模型——反应堆模式(epoll 简介) - _Boz - 博客园
  13. 拉普拉斯方程与复微分
  14. typora最好用的主题_推荐一款超好用Markdown编辑器-Typora
  15. iozone文件系统性能评测工具
  16. Shell脚本 | 考勤统计
  17. 大学计算机专业绩点3.7什么水平,大学绩点3.0什么水平 绩点达到多少算优秀
  18. node生成图形验证码
  19. 金陵五题·并序 刘禹锡
  20. C语言基础和语法知识

热门文章

  1. linux进程名称最大长度,linux – 进程名称长度的最大允许限制是多少?
  2. flask pyecharts_利用 Flask 动态展示 Pyecharts 图表数据的几种方法
  3. -bash: mysql: command not found
  4. 修改chrome中HTML元素,自由更改网页中的任何内容:Hack this page
  5. vb6 由于超出容量限制 不能创建新事务_Executors类创建四种常见线程池
  6. h5故障代码_H5故障与内机有关?
  7. python进不去怎么办_python写文件有时候写不进去怎么办
  8. 初始化栈的代码_限定性数据结构-栈
  9. 计算机原理及应用课程,课程描述
  10. 服务器配置文件设计,IM配置服务器概要的设计文件.doc