Python 科学工具笔记

简介: Python 科学工具笔记numpya = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象此时a.shape显示的值为(4,);由此得出结论在一维的数组中, 数组的是列优先的numpy.

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() # 显示图形

目录
相关文章
|
1月前
|
缓存 API Python
Python中的装饰器:优雅而强大的函数增强工具
在Python编程中,装饰器是一种强大的工具,可以在不改变原函数代码的情况下,对函数进行增强和扩展。本文将介绍装饰器的基本概念、用法以及实际应用场景,帮助读者更好地理解并运用装饰器提升代码的可维护性和灵活性。
|
1月前
|
存储 开发工具 git
Python中的版本控制和代码协作工具
在Python项目中,版本控制和代码协作是非常重要的。最常用的版本控制工具是Git,而代码协作则通常通过Git配合代码托管平台(如GitHub、GitLab等)来实现。以下是一个基本的流程,说明如何使用Git进行版本控制以及如何通过GitHub进行代码协作。
|
2月前
|
监控 Python
推荐一些Python的内存分析工具。
【2月更文挑战第7天】【2月更文挑战第19篇】推荐一些Python的内存分析工具。
|
7天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。
|
25天前
|
数据采集 搜索推荐 数据挖掘
使用Python制作一个批量查询搜索排名的SEO免费工具
最近工作中需要用上 Google SEO(搜索引擎优化),有了解过的朋友们应该都知道SEO必不可少的工作之一就是查询关键词的搜索排名。关键词少的时候可以一个一个去查没什么问题,但是到了后期,一个网站都有几百上千的关键词,你再去一个一个查,至少要花费数小时的时间。 虽然市面上有很多SEO免费或者收费工具,但免费的基本都不能批量查,网上免费的最多也就只能10个10个查询,而且查询速度很慢。收费的工具如Ahrefs、SEMrush等以月为单位收费最低也都要上百美刀/月,当然如果觉得价格合适也可以进行购买,毕竟这些工具的很多功能都很实用。今天我给大家分享的这个排名搜索工具基于python实现,当然肯定
39 0
|
25天前
|
XML Shell Linux
性能工具之 JMeter 使用 Python 脚本快速执行
性能工具之 JMeter 使用 Python 脚本快速执行
40 1
性能工具之 JMeter 使用 Python 脚本快速执行
|
25天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib简介与实践
在本文中,我们将介绍Python中常用的数据可视化工具Matplotlib,包括其基本概念、常用功能以及实际应用。通过学习Matplotlib,读者可以更好地理解和运用数据可视化技术,提升数据分析与展示的能力。
|
29天前
|
Web App开发 前端开发 JavaScript
Python Selenium是一个强大的自动化测试工具
Python Selenium是一个强大的自动化测试工具
|
1月前
|
前端开发 JavaScript API
基于ElectronEgg&Python,从零开始打造一款免费的PDF桌面工具
基于ElectronEgg&Python,从零开始打造一款免费的PDF桌面工具
|
1月前
|
缓存 Rust 监控
新一代 Python 代码纠错工具Ruff,突出一个字“快”!
新一代 Python 代码纠错工具Ruff,突出一个字“快”!

热门文章

最新文章