numpy数组的保存
import numpy
b = numpy.array([1, 2, 3])
print(b)
numpy.save("g", b)
a = numpy.load("g.npy")
print(a)
b = numpy.array([1,2,3])
print(b)
numpy.savetxt("b.csv",b)
# numpy读取csv文件
a = numpy.loadtxt("b.csv")
print(a)
b = numpy.array([1,2,3])
print(b)
numpy.savetxt("b.txt",b)
# 读取txt文件
a = numpy.loadtxt("b.txt")
print(a)
arr = np.arange(20).reshape(4,5)
print("arr",arr)
print("数组的求和",np.sum(arr))
print("数组纵轴求和",arr.sum(axis=0))
print("数组横轴求和",arr.sum(axis=1))
print("数组的均值",np.mean(arr))
print("数组纵轴方向求均值",arr.mean(axis=0))
print("数组横轴方向求均值",arr.mean(axis=1))
print("计算数组的标准差", np.std(arr))
print("计算数组的方差", np.var(arr))
print("计算数组的最小值", np.min(arr))
print("计算数组的最大值", np.max(arr))
print("找出最小值的索引", np.argmin(arr))
print("找出最大值的元素的索引", np.argmax(arr))
当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
import numpy as np
np.random.seed(44)
arr = np.random.randint(1,10,size=(3,3))
print(arr)
# 横轴排序
arr.sort(axis=1)
print(arr)
# 纵轴排序
arr.sort(axis=0)
print(arr)
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(0, 1, 0.1)
print(data)
plt.title('The title of the picture') # 添加标题
plt.xlabel('x axis') # 添加x轴的名称
plt.ylabel('y axis') # 添加y轴的名称
plt.xlim((0, 1)) # 确定x轴的范围
plt.ylim((0, 1)) # 确定y轴的范围
plt.xticks([0, 0.2, 0.4, 0.6, 0.8, 1]) # 确定x轴的刻度
plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1]) # 确定y轴的刻度
plt.plot(data, data**2) # 添加一条函数曲线
plt.plot(data, data**4) # 添加一条函数曲线
plt.legend(['y=x^2','y=x^4'])
plt.savefig('p1.png')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(0,1,0.1)
#在一个画布上画两个函数曲线图
rad = np.arange(0, np.pi*2, 0.01) #设置一个数组范围
#画第一幅函数图像
p1 = plt.figure(figsize=(8,10),dpi=80) #这两个参数都决定了小大,左边是宽:长
ax1 = p1.add_subplot(2,1,1) #创建一个2行1列的子图,并开始绘制第一幅
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(data, data)
plt.plot(data, 2*data)
#第二幅子图
ax2 = p1.add_subplot(2,1,2) #创建一个2行1列的子图,并开始绘制第一幅
plt.title('sin/cos')
plt.xlabel('rad')
plt.ylabel('value')
plt.xlim((0,np.pi*2))
plt.ylim((-1,1))
plt.xticks([0, np.pi/2, np.pi*1.5, np.pi*2])
plt.yticks([-1, -0.5, 0, 0.5, 1])
plt.plot(rad, np.sin(rad)) #sin的函数曲线
plt.plot(rad, np.cos(rad)) #cos的函数曲线
plt.legend(['sin','cos'])
plt.savefig('sincos.png')
plt.show()
# 调节线条参数
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 4*np.pi) # 生成x轴
y = np.sin(x)
plt.plot(x,y,label="$sin(x)$") # 绘制sin曲线图
plt.title("sin")
plt.savefig("sin.png")
plt.show()
# 修改rc参数
plt.rcParams['lines.linestyle'] = '-.' # 线条形状
plt.rcParams['lines.linewidth'] = 3 # 线条宽度
plt.rcParams['lines.marker']='.' # 点的形状
plt.plot(x,y,label='sin(x)') # 绘制sin曲线图
plt.title('sin')
plt.savefig('sin.png')
plt.legend(['sin'])
plt.show()
"""
lines.linestyle '-'(默认) '--' '-.' ':'
lines.linewidth 0~10 默认1.5
lines.marker 'o' 'D' 'h' '.' ',' 'S' 默认是None
lines.markersize 0~10 默认是1
"""
例:画一个(x+1)**2的图和一个(x+1)
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-2, 2, 0.01)
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((-2,1))
plt.ylim((-1,2))
plt.xticks([-2,-1.5,-1,-0.5,0,0.5,1])
plt.yticks([-1,-0.5,0,0.5,1,1.5,2])
plt.plot(x, (x+1)**2)
plt.plot(x, x+1)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 设置中文显
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
data = np.load('国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']
value = data['values']
print(name)
print(value)
plt.figure(figsize=(8,7))# 设置画布
# 写在一个plot里面,但是需要后面标记比如这样'gD:''
plt.plot(value[:, 0], value[:, 2],'gD:',
value[:, 0], value[:, 3],'r.--',
value[:, 0], value[:, 4],'b,-.')
plt.xlabel("xlabel")
plt.ylabel('GDP(10^8)')
plt.ylim((0,225000)) # 设置y轴范围
plt.xticks(range(0,70,4), value[range(0,70,4), 1], rotation=45)
plt.title('2000~2017 GDP in each quarter in the nation')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
data = np.load('国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']
values = data['values']
a=[1,2, 3]
print(type(values))
print(type(a))
# print(name)
# print(values[:,2])
value = np.vstack((name, values))
# print("横向组合",np.concatenate((name,values),axis=0))
np.savetxt("d.csv",value,delimiter=',',fmt = '%s')