Python及其数据库的学习(小白)

初识numpy与matplotlib

1. numpy与matplotlib的安装

pip install numpy
pip install matplotlib

2. 使用numpy创建随机数

import numpy as np

x = np.random.rand()
print('x=', x) # 输出一个0~1的随机小数
y = np.random.rand(10, 2) # 创建一个10行2列的二维数组
print('y: ', y) # 输出一个0~1的随机小数的二维数组
print('y[1]: ', y[1]) # 输出第二行的数据
# 若要输出多行数据
print('第一/三/五行的数据为: ', y[[0, 2, 4]]) # 注意用法
# 若要输出某列的全部数字
print('第二列的全部数字: ', y[:, 1]) # 使用切片,输出第一列的全部数字

其输出结果为:

x= 0.25638836693071065
y:  [[0.5788188  0.89503475]
 [0.98298585 0.69295086]
 [0.00934004 0.97304482]
 [0.34094026 0.24824508]
 [0.79254743 0.90471139]
 [0.98348233 0.61303427]
 [0.25389316 0.48046491]
 [0.41290968 0.58207312]
 [0.48456803 0.45319231]
 [0.42532825 0.67650157]]
y[1]:  [0.98298585 0.69295086]
第一/三/五行的数据为:  [[0.5788188  0.89503475]
 [0.00934004 0.97304482]
 [0.79254743 0.90471139]]
第二列的全部数字:  [0.89503475 0.69295086 0.97304482 0.24824508 0.90471139 0.61303427
 0.48046491 0.58207312 0.45319231 0.67650157]

3. 使用numpy与matplotlib进行图像绘制

3.1 简单的图形

import numpy as np
import matplotlib.pyplot as plt

# 创建一个随机数据二维数组
data = np.random.rand(100, 2)  # 生成100个随机数据的二维点集,取值范围是[0,1]

print('data: ', data)
# 将data按列进行拆分
x = data[:, 0]
y = data[:, 1]
# 绘制图形
plt.plot(x, y, 'go', markersize=5)
# 展示图形
plt.show()

图形如下:
随机数

3.2 绘制圆形

尝试将x, y的取值范围改变为[-1, 1]。np.random.rand(10000, 2)生成一个10000行2列的矩阵,其中的每个元素都是在0到1之间的随机数。然后将这个矩阵的每个元素乘以2,再减去1,这样就可以得到一个每个元素都在-1到1之间的随机数组。

import numpy as np
import matplotlib.pyplot as plt

data = 2 * np.random.rand(1000, 2) - 1  # 生成1000个随机数据的二维数组,取值范围是[-1,1]

# 将data进行列拆分
x = data[:, 0]
y = data[:, 1]

# 选取一个圆的范围
idx = x ** 2 + y ** 2 < 1

plt.plot(x[idx], y[idx], 'go', markersize=1)
plt.show()

图形如下:
在这里插入图片描述

3.3 绘制圆环

import numpy as np
import matplotlib.pyplot as plt

data = 2 * np.random.rand(10000, 2) - 1
print(data)
x = data[:, 0]
y = data[:, 1]
idx = x ** 2 + y ** 2 <= 1
hole = x ** 2 + y ** 2 < 0.25
idx = np.logical_and(idx, ~hole)  # 进行逻辑与操作,将在idx范围内的和不在hole范围内的下标进行与操作

plt.plot(x[idx], y[idx], 'go', markersize=1)
plt.show()

图片如下:
在这里插入图片描述
若要显示更加清晰,可以增大点集的数量,取10000个点。
如图所示:
在这里插入图片描述

以上便是全部内容,若有错误欢迎指出,我会及时更正。希望一起学习进步!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值