文章目录

  • 前言
  • 一、行向量和列向量的表示
  • 二、行向量和列向量的表示
  • 三 画出正态分布的直方图和曲线图
  • 总结



前言

Numpy+matplotlib的一些操作

一、行向量和列向量的表示

import numpy as np
a = np.array([[1,2,3],[4,5,6]])   #(2,3)
b = np.array([1,2,3,4])			   #(4,1)
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])#(2,2,3)

可以看出
a = [[1 2 3] [4 5 6]] b = [1 2 3 4] c = [[[1 2 3] [4 5 6]]] [[1 2 3] [4 5 6]]

'''
共轭
方法:a.conj()或np.conj(a)
转置
方法:a.T或a.transpose()
共轭转置
未找到直接方法,可用a.conj().T或a.T.conj()
'''
m = np.array([[1,2,3]])
m1 = np.array([[2,3,4]])
print(m)   # [[1 2 3]]
c = m.transpose() # 或者使用print(c.T)都可以是行向量转变为列向量
print(c)  # [[1]
           # [2]
           #  [3]]
d = c*m1  # 3X1 1X3
print(d)

python vector 转换为 列向量 python将行向量转化为列向量_矩阵


**

二、行向量和列向量的表示

**
生成均匀分布的随机数

stock_change = np.random.uniform(low=-1, high=1, size=(5,10))

# 逻辑判断, 如果涨跌幅大于0.5就标记为True 否则为False
c = stock_change > 0.5
print(c)
print(stock_change, type(stock_change))
b = stock_change.copy()
b[b>0.5] = 1.1  # 将矩阵中元素大于0.5的数变为1.1
#返回一个True和False的等大小矩阵
print(b)
stock_change = stock_change.copy()
stock_change[stock_change > 0.5] = 1.1
print(stock_change)

python vector 转换为 列向量 python将行向量转化为列向量_矩阵_02


python vector 转换为 列向量 python将行向量转化为列向量_python_03

#以下两者均只返回一个布尔值
# 判断stock_change[0:2, 0:5]是否全是上涨的
a =np.all(stock_change[0:2, 0:5] > 0)
print(a)
# 判断前5只股票这段期间是否有上涨的
b = np.any(stock_change[:5, :] > 0)
print(b)

python vector 转换为 列向量 python将行向量转化为列向量_python_04

三 画出正态分布的直方图和曲线图

直方图展示数据的分布,柱状图比较数据的大小。
直方图X轴为定量数据,柱状图X轴为分类数据。
直方图柱子无间隔,柱状图柱子有间隔
直方图柱子宽度可不一,柱状图柱子宽度须一致

'''
直方图,形状类似柱状图却有着与柱状图完全不同的含义。
直方图牵涉统计学的概念,首先要对数据进行分组,然后统计每个分组内数据元的数量。
在坐标系中,横轴标出每个组的端点,纵轴表示频数,
每个矩形的高代表对应的频数,称这样的统计图为频数分布直方图。 
'''
plt.hist(time, bins=group_num, density=True)
##第一个参数是数据,第二个参数是组数,第三个参数是density默认为False
##False显示的是频数,True显示的是频率
import matplotlib.pyplot as plt
# plt.figure(figsize=(20,8),dpi = 80)
# plt.hist(x,1000)
# # plt.show()
loc , scale = 0.75,0.1
x = np.random.normal(loc=0.75,scale=0.1,size =1000)
count , bins ,density =plt.hist(x,20,density= True )
plt.plot(bins,1/(scale * np.sqrt(2 * np.pi)) *np.exp( - (bins - loc)**2 / (2 * scale**2) ))
plt.show()

python vector 转换为 列向量 python将行向量转化为列向量_矩阵_05