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()显示图像。

目录
打赏
0
0
0
0
11
分享
相关文章
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
594 15
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
177 8
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
114 2
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
182 5
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
273 5
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
167 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等