首页 分享 Python和SciPy速成

Python和SciPy速成

来源:花匠小妙招 时间:2025-04-14 07:53

1.Python速成
1.1基本数据类型和赋值运算
字符串

#字符串 data = 'Hello world!' print(data[0]) print(data[1:5]) print(len(data)) print(data)123456

空值
  在Python中,每一种数据类型都是对象,空值是Python中的一个特殊值,用None表示,表示该值是一个空对象。可以将None赋值给任何变量,也可以将任何变量赋值给一个None值的对象。

a=None b=a print(a) print(b)1234

1.2复杂数据类型
  Python中有三种数据类型经常被用到,且非常有用。分别为元组,列表和字典。

  元组是一个只读的集合类型,初始化后,元组的元素不能重新赋值。

#元组 a=(1,2,3) print(a) print(a[1])1234

  列表与元组类似,只是列表通过中括号定义,而且列表的元素可以重新赋值。对列表增加列表项使用列表的append()函数。

#列表 a=[1,2,3] print(a) a.append(4) print(a) a[2]=5 print(a) for i in a: print(i)123456789

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

#字典 mydict['a']=523 print('A value: %d' % mydict['a']) print('keys: %s' % mydict.keys()) print('values: %s' % mydict.values()) for key in mydict: print(mydict[key])1234567

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

mydict.pop('a') print(mydict) mydict.clear() print(mydict)1234

  函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。函数能提高应用的模块性和代码的重复利用率。自定义函数需要遵循以下几个简单的规则:
  1.函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
  2.任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定于参数。
  3.函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明。
  4.函数内容以冒号起始,并且缩进。
  5.用return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式地return相当于返回None。

  with语句与上下文管理器关系密切。下面是一组与上下文管理器和with语句有关的概念。
  上下文管理协议(Context Management Protocol):包含方法enter()和exit(),支持该协议地对象要实现这两个方法。
  上下文管理器(Context Manager):支持上下文管理协议地对象,这种对象实现了enter()和exit()方法。上下文管理器定义执行with语句时要建立的运行时的上下文,负责执行with语句块上下文中的进入与退出操作。通常使用with语句调用上下文管理器,也可以通过直接调用其方法来使用。
  运行时上下文(Runtime Context):由上下文管理器创建,通过上下文管理器的enter()和exit()方法实现。enter()方法在语句体执行之前进入运行时上下文,exit()方法在语句体执行完毕后从运行时上下文退出。with语句支持运行时上下文这一概念。
  上下文表达式(Context Expression):with语句中跟在关键字with之后的表达式,该表达式要返回一个上下文管理器对象。
  语句体(with-body):with语句包裹起来的代码块,在执行语句体之前会调用上下文管理器的enter()方法,执行完语句体之后会执行exit()方法。
  Python对一些内建对象进行改进,加入了对上下文管理器的支持,可以用于with语句中,比如可以自动关闭文件,线程锁的自动获取和释放等。假如要对一个文件进行操作,可以使用with语句,代码如下:

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

  这里使用了with语句,不管在处理文件过程中是否发生异常,都能保证with语句执行完毕后关闭了打开的文件句柄。使用with语句,简化了对异常的处理。因此,当需要对异常进行处理的时候,如果对象遵循了上下文管理协议,建议使用with语句来实现。

2.Numpy速成

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

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

#算术运算 import numpy as np myarray1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) myarray2 = np.array([[11,21,31],[21,32,42],[33,13,23]]) print(myarray1 + myarray2) print(myarray1*myarray2)123456

3.Matplotlib速成
  Matplotlib操作步骤如下:
  1.调用plot(),scatter()等方法,并为绘图填充数据。数据是Numpy的ndarray类型的对象。
  2.设定数据标签,使用xlabel(),ylabel()方法。
  3.展示绘图结果,使用show()方法。

#绘制线条图 import matplotlib.pyplot as plt import numpy as np myarray = np.array([[1,2,3],[2,3,4],[3,4,5]]) plt.plot(myarray) #设定x轴和y轴 plt.xlabel('x axis') plt.ylabel('y axis') plt.show()123456789

#散点图 myarray1 = np.array([1,2,3]) myarray2 = np.array([11,21,31]) plt.scatter(myarray1,myarray2) plt.xlabel('x axis') plt.ylabel('y axis') plt.show()1234567

4.Pandas速成
Pandas提供了用于机器学习的复杂数据类型:矢量运算方法和数据分析方法。Pandas也提供了多种数据结构:
1.Series:一维数组,与Numpy中的一维Array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效地使用内存,提高运算效率。
2.Time-Series:以时间为索引的Series。
3.DataFrame:二维的表格型数据结构。很多功能与R语言中的data.frame类似。可以将DataFrame理解为Series的容器。
4.Panel:三维数组,可以理解为DataFrame的容器

Series虽然与Numpy的一维数组类似,但是在建立Series时可以设定Index,也可以像访问Numpy数组或字典一样来访问Series元素。

import numpy as np import pandas as pd myarray = np.array([1,2,3]) index = ['a','b','c'] myseries = pd.Series(myarray,index=index) print(myseries) print(myseries[0]) print(myseries['c'])12345678

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

myarray = np.array([[1,2,3],[2,3,4],[3,4,5]]) rowindex = ['row1','row2','row3'] colname = ['col1','col2','col3'] mydataframe = pd.DataFrame(data=myarray,index=rowindex,columns=colname) print(mydataframe) print(mydataframe['col3'])123456

相关知识

干货分享:Python数据分析工具
Python机器学习基础教程
python实现99朵玫瑰花
Python机器学习教程——逻辑回归
用python画图所需要的插件
python机器学习
花了1个月时间,把Python库全部整理出来了,覆盖所有,建议收藏
BP神经网络,bp神经网络预测模型,Python源码.rar.zip资源
Python实现精油调配算法:自动化计算最佳配方比例
python之sklearn

网址: Python和SciPy速成 https://www.huajiangbk.com/newsview1768843.html

所属分类:花卉
上一篇: Outlook HTML渲染引擎
下一篇: 当中国传统色彩遇上七彩云南

推荐分享