Python数据分析与展示实例


一、利用numpy库,创建两个数组A、B,两个数组的shape均为4*5,数组A的元素为,数组B的元素为。编程实现以下功能:

1)输出A+B 、B-A、A*B、A/B的结果;

2)对数组A的中间两行的元素进行求和,并输出。

import numpy as np
arrayA = np.array([[0,1,2,3,4],
                   [5,6,7,8,9],
                   [10,11,12,13,14],
                   [15,16,17,18,19]])

arrayB = np.array([[100,101,102,103,104],
                   [105,106,107,108,109],
                   [110,111,112,113,114],
                   [115,116,117,118,119]])
print(arrayA + arrayB)
print(arrayA * arrayB)
print(arrayB - arrayA)
print(arrayA / arrayB)
print(sum(arrayA[1,:])+sum(arrayA[2,:]))

二、“鸡兔同笼”问题:今有鸡兔同笼,上有三十五头,下有九十四足。问鸡兔各多少?,请利用numpy库的linalg模块编程实现。

import numpy as np

heads , foots = 35, 94
A = np.array([[1,1],[2,4]]) #方程组的系数
B = np.array([heads,foots]) #方程组右侧的常数矩阵
X = np.linalg.solve(A,B)
print(X)
print("鸡为:{}只, 兔为: {}只".format(X[0],X[1]))

三、参考教材阅读并运行“阻尼衰减曲线坐标图”绘制代码,理解编写科学坐标系的方法,绘制如下图所示阻尼衰减曲线图:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif']=['SimHei']
def Draw(pcolor, nt_point,nt_text,nt_size):
    plt.plot(x,y,'k',label="$exp_decay$",color=pcolor,linewidth=3,linestyle="-")
    plt.plot(x,z,"b--",label="$cos(x^2)$",linewidth=1)
    plt.xlabel('时间(s)')
    plt.ylabel('幅度(mV)')
    plt.title('阻尼衰减曲线绘制')
    plt.annotate('$\cos(2 \pi t) \exp(-t)$',xy=nt_point, xytext=nt_text,fontsize=nt_size,arrowprops=dict(arrowstyle='->',connectionstyle="arc3,rad=.1"))

def Shadow(a,b):
    ix = (x>a) & (x<b)
    plt.fill_between(x,y,0,where=ix,facecolor='grey',alpha=0.25)
    plt.text(0.5 * (a + b),0.2,r"$\int_a^b f(x)\mathrm{d}x$",horizontalalignment='center')

def XY_Axis(x_start,x_end,y_start,y_end):
    plt.xlim(x_start,x_end)
    plt.ylim(y_start,y_end)
    plt.xticks([np.pi/3,2*np.pi/3,1*np.pi,4*np.pi/3,5*np.pi/3],['$\pi/3$','$2\pi/3$','$\pi$','$4\pi/3$','$5\pi/3$'])

x=np.linspace(0.0,6.0,100)
y=np.cos(2*np.pi*x)*np.exp(-x)+0.8
z=0.5*np.cos(x**2)+0.8
note_point,note_text,note_size=(1,np.cos(2*np.pi)*np.exp(-1)+0.8),(1,1.4),14
fig=plt.figure(figsize=(8,6),facecolor="white")
plt.subplot(111)
Draw("red",note_point,note_text,note_size)
XY_Axis(0,5,0,1.8)
Shadow(0.8,3)
plt.legend()
plt.savefig('sample.JPG')
plt.show()

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM