python数据库-NumPy与Matplotlib库

简介: python数据库-NumPy与Matplotlib库

NumPy

1.导入numpy库

import numpy as np

python中用import导入库,这里的意思是将怒骂朋友作为np导入。通过这样的形式,之后使用numpy相关方法用np使用

2.生成numpy数组

import numpy as np
x = np.array([1.0, 2.0, 3.0])
print(x)
print(type(x))

将列表变成numpy

输出结果:

1. [1. 2. 3.]
2. <class 'numpy.ndarray'>

使用np.array()方法接受python列表进行参数,生成numpy数组

NumPy的算数运算

import numpy as np
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
print(x+y)
print(x-y)
print(x*y)
print(x/y)
print(x/2.0)


NumPy的算数运算

import numpy as np
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
print(x+y)
print(x-y)
print(x*y)
print(x/y)
print(x/2.0)


结果是

[3. 6. 9.]
[-1. -2. -3.]
[ 2.  8. 18.]
[0.5 0.5 0.5]
[0.5 1.  1.5]

说明运算是对应元素作为相应的基本运算

NumPy的N维数组(前两范围)

.代表包含


shape


zeros,ones,full


arrange()左闭右开,一个数0到   两个数左闭右开,三个数左闭右闭递进数字


indices()坐标


eye() 几行几列,对角线, 第一个数是列


reshape()改变维数


dtype()每一项的数据类型


a.dot(b)  代表线性代数相乘.t  转置

import numpy as np
A = np.array([[1, 2], [3, 4]])
print(A)
print(A.shape)
print(A.dtype)
B = np.array([[3, 0], [0, 6]])
print(A+B)
print(A*B)
print(A*10)

输出结果

[[1 2]
 [3 4]]
(2, 2)
int32
[[ 4  2]
 [ 3 10]]
[[ 3  0]
 [ 0 24]]
[[10 20]
 [30 40]]


这里生成两个 2 × 2 2 \times 2 2×2的矩阵A、B。矩阵的形状可以通过shape查看,矩阵元素的数据类型可以通过dtype查看。和数组的算术运算一样,矩阵的算术运算可以在相同形状的矩阵之间以对应元素的方式运算,也可以通过标量运算。


广播

在NumPy中,形状不同的数组之间也可以进行运算。在上一个例子中,print(A*10)是将10扩展成 2 × 2 2 \times 2 2×2的矩阵[[10, 10], [10, 10]],然后运算,这个巧妙的功能被称为广播。注意不是任何数组都可以进行运算。

import numpy as np
A = np.array([1, 2, 3])
B = np.array([[3, 0], [0, 6]])
print(A+B)

报错:形状不一样

访问元素

1.索引访问

import numpy as np
x = np.array([[51, 55], [14, 19], [0, 4]])
print(x)
print(x[0])
print(x[0][1])
for row in x:
    print(row)

结果

[[51 55]
 [14 19]
 [ 0  4]]
[51 55]
55
[51 55]
[14 19]
[0 4]

2.数组访问

import numpy as np
x = np.array([[51, 55], [14, 19], [0, 4]])
x = x.flatten()
print(x)
print(x[np.array([0, 2, 4])])//获取索引0,2,4 的元素


结果

[51 55 14 19  0  4]
[51 14  0]

3.标记法

import numpy as np
x = np.array([[51, 55], [14, 19], [0, 4]])
print(x > 15)
print(x[x > 15])

结果

[[ True  True]
 [False  True]
 [False False]]
[51 55 19]

Matplotlib

1.导入库

import matplotlib.pyplot as plt

2.绘制简单图形

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.show()

结果

使用arange方法生成了的x,y的值如下

[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.  1.1 1.2 1.3 1.4 1.5 1.6 1.7
 1.8 1.9 2.  2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.  3.1 3.2 3.3 3.4 3.5
 3.6 3.7 3.8 3.9 4.  4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.  5.1 5.2 5.3
 5.4 5.5 5.6 5.7 5.8 5.9]
[ 0.          0.09983342  0.19866933  0.29552021  0.38941834  0.47942554
  0.56464247  0.64421769  0.71735609  0.78332691  0.84147098  0.89120736
  0.93203909  0.96355819  0.98544973  0.99749499  0.9995736   0.99166481
  0.97384763  0.94630009  0.90929743  0.86320937  0.8084964   0.74570521
  0.67546318  0.59847214  0.51550137  0.42737988  0.33498815  0.23924933
  0.14112001  0.04158066 -0.05837414 -0.15774569 -0.2555411  -0.35078323
 -0.44252044 -0.52983614 -0.61185789 -0.68776616 -0.7568025  -0.81827711
 -0.87157577 -0.91616594 -0.95160207 -0.97753012 -0.993691   -0.99992326
 -0.99616461 -0.98245261 -0.95892427 -0.92581468 -0.88345466 -0.83226744
 -0.77276449 -0.70554033 -0.63126664 -0.55068554 -0.46460218 -0.37387666]

将x,y的数据传给plt.plot,然后绘制图形,最后通过plt.show()显示图像。

相关文章
|
10天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
19天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
21天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
26天前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含&#39;Name&#39;和&#39;Age&#39;列的DataFrame,最终结果经过转换后呈现出不同的布局。
38 6
|
22小时前
|
JSON API 数据格式
python的request库如何拿到json的返回值
python的request库如何拿到json的返回值
4 0
|
3天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
13天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
23天前
|
机器学习/深度学习 数据挖掘 Python
NumPy的基本操作(Python)
NumPy的基本操作(Python)
30 4
|
23天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib简介与实践
在本文中,我们将介绍Python中常用的数据可视化工具Matplotlib,包括其基本概念、常用功能以及实际应用。通过学习Matplotlib,读者可以更好地理解和运用数据可视化技术,提升数据分析与展示的能力。
|
6月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
115 0