Python 科学工具笔记
Python 科学工具笔记
numpy
- a = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象
此时a.shape显示的值为(4,);
由此得出结论在一维的数组中, 数组的是列优先的 - numpy.random.uniform(low, high):
产生在low和high之间的随机数 - numpy.vdot(arrA, arrB):
计算arrA与arrB的数量积 - numpy.max(), .min(), .sum(), .average()
- numpy.random.randn():
Scipy
- scipy.integrate.quad(funcname, low, high): funcname函数的仅仅返回一个需要求解积分的式子
low: 积分下线
high: 积分上限
matplotlib.pyplot
import matplotlib.pyplot as plt plt.hist() plt.plot() plt.pie() plt.bar() plt.show() plt.scatter()
numpy库使用
- genfromtxt(filename, delimiter, dtype, skip_header=1/2)
filename: 文件名
delimiter: 分隔符, 用于分隔文件中每行的内容放入到矩阵中
dtype: 矩阵中的类型, ATTENTION: numpy矩阵中的所有元素是同一个类型
skip_header: 是否跳过首行
- numpy.array(list): 根据list返回一个numpy的矩阵
- obj.shape: 返回维度信息
- obj.dtype: 返回numpy的dtype类型对象, 显示矩阵中的元素类型
- [2], [2:3]: 对以为矩阵, 获取指定的元素
对于二维矩阵元素的获取:
[2:3, 3:4]: 逗号左侧表示对行的切片, 逗号右边表示对列的切片
- 对numpy中的矩阵进行操作符的操作(<. ==, >)等指的是对矩阵中每一个元素进行该操作, bool类型的操作返回的是bool序列
- 矩阵中的切片可是一个bool类型的序列, [bool_list], 返回对应的为True的元素组成的序列
- obj.astype(dtype): 改变元素的类型
- obj.min(),.max(), sum(),其中可以添加默认参数, axis=1|0, 如果为0表示按照列为单位计算min, max等, 返回每一行的min, max等, 如果为axis=1则是以行为单位
numpy.isnan(array): 返回bool序列, 判断元素的空项
- obj.arange(0, 100, 2)
- obj.linspace(0, 100, 100)
- obj.ndim: 返回矩阵的维度
- obj.size: 元素个数
- obj.zeros(tuple)
- obj.ones(tuple)
- numpy.random.random((2, 3)): 生成2行3列的元素为随机数的矩阵
- obj0.dot(obj1)或者numpy.dot(obj0, obj1): 矩阵乘法, obj0的列向量与obj1的行向量的数量积
- numpy.exp(array), numpy.sin(array), numpy.sqrt(array), numpy.floor(array)
- obj.ravel(): 解开矩阵, 将矩阵拉成以为向量
- numpy.vstack(obj0, obj1): 将obj0与obj1垂直拼接
- numpy.hstack(obj0, obj1): 将obj0与obj1水平拼接
- numpy.vsplit(obj, 3): 将obj垂直切两刀平均分为3个矩阵
- numpy.hsplit(obj, 3): 同理
- numpy.vsplit(obj, (2, 3)): 以2行3列的元素所在的列为分隔线分隔为3份
- numpy.hsplit(obj, (2, 3)): 同理
- numpy.reshape(2, 3): 调整矩阵的行和列
- obj.view(): 浅拷贝, 不建议使用
- obj.copy(): 深拷贝
- obj.tile(2, 3): 也为拷贝, 但是拷贝出来的矩阵的行是原来的2倍, 列是原来的3倍
obj.sort(axis=1|0): 按照行或者列进行判断
pandas库使用(pandas是对numpy的封装, 随意可以混合使用)
- pandas.read_csv(filename): 读取文件返回DataFrame对象(df), 只要数据是以逗号分隔的都可使用read_csv读取
- df.dtypes返回类型
- df.head(3): 查看前3行
- df.tail(3): 查看后3行
- df.columns: 列名
- df.shape: 维度信息, 表格的行和列信息
- df.loc[index]: 返回指定行的信息
- df['string']: 返回指定的名称的列信息, 返回Series, DataFrame就是有很多个Series中组成的
- 在pandas中的python内置的str类型为object类型(dtype中显示的)
- obj.dropna(): 去掉有空项的行
- Series对象
series.index返回index序列
series.sortindex排序index
series.sortvalues排序values
series[0]|series['str']: 返回索引对应的value
matplotlib.pyplot库使用
- 画出折线图
import matplotlib.pyplot as plt
x_values = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y_values = [100, 200, 300, 120, 12, 213, 123]
x_label = 'Days'
y_label = 'Rain flow'
line_color = 'red'
legend_string = 'Trend'
plt.plot(x_label, y_label, c=line_color, label=legend_string) # plot函数作用: 画出图或者线(指的仅仅是折线, 柱形图的, 并不包含坐标的绘画)
plot函数参数介绍:
1: x轴数据序列
2: y轴数据序列
3: c: 折线的颜色
4: label: 折线对应的名称
plt.xlabel(x_label)
plt.ylabel(y_label)
plt.title('Demo')
plt.ledend(loc='best') # 显示折线对应的label, 就是图例
plt.xticks(rotation=45) # 设置x轴显示的数据的倾斜度为45, 便于显示标签
plt.show() # 显示图形
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python第三方库使用感言
Python第三方库使用的感言加使用笔记 一般来讲第三方库会提供大量的类与对象, 对象方法的返回值和库中函数的返回值一般不会是Python原始自带的对象, 而是由该第三方库提供的对象, 因为Python的开源性, 第三方库的编写风格各异, 不怎么好记忆, 如, 一般常理来说, 函数应该是动词, 而在matplotlib.pyplot中的title(), xlabel(), ylabel()等设置title, label的函数, 你们瞧一瞧, 我真的...:( 对1的举例, pandas中DataFrame创建出来的对象的head()返回的是DataFrame类型对象, columes返回Index对象, loc[index]返回的是Serial, 在下认为, 一方面第三方这样做主要是因为开发方便, 但是我严重以为他们有一种控制欲(让我着实不爽), 这里再Mark一下, 在Pandas中单独的取出来的一行或者一列使用Serial表示的, 但是标题行为Index对象, 使用head(1)虽然返回的是一行, 但是返回的对象是一个DataFrame队形, 因为考虑到head(10)等情况, 额...
- 下一篇
消息队列二三事
最近在看kafka的代码,就免不了想看看消息队列的一些要点:服务质量(QOS)、性能、扩展性等等,下面一一探索这些概念,并谈谈在特定的消息队列如kafka或者mosquito中是如何具体实现这些概念的。 服务质量 服务语义 服务质量一般可以分为三个级别,下面说明它们不同语义。 At most once 至多一次,消息可能丢失,但绝不会重复传输。生产者:完全依赖底层TCP/IP的传输可靠性,不做特殊处理,所谓“发送即忘”。kafka中设置acks=0。消费者:先保存消费进度,再处理消息。kafka中设置消费者自动提交偏移量并设置较短的提交时间间隔。 At least once 至少一次,消息绝不会丢,但是可能会重复。生产者:要做消息防丢失的保证。kafka中设置acks=1 或 all并设置retries>0。消费者:先处理消息,再保存消费进度。kafka中设置消费者自动提交偏移量并设置很长的提交时间间隔,或者直接关闭自动提交偏移量,处理消息后手动调用同步模式的偏移量提交。 Exactly once 精确一次,每条消息肯定会被传输一次且仅一次。 这个级别光靠消息队列本身并不好保证,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境