基于python 二维数组及画图的实例详解

逍遥友 2018-04-03

1、二维数组取值

注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型

#二维数组
import numpy as np

list1=[[1.73,1.68,1.71,1.89,1.78],
   [54.4,59.2,63.6,88.4,68.7]]
list3=[1.73,1.68,1.71,1.89,1.78]
list4=[54.4,59.2,63.6,88.4,68.7]
list5=np.array([1.73,1.68,1.71,1.89,1.78])
list6=np.array([54.4,59.2,63.6,88.4,68.7])
#构造二维数组
list=np.array([[1.73,1.68,1.71,1.89,1.78],
   [54.4,59.2,63.6,88.4,68.7]])
print type(list1)
#两个list直接相运算是会报错的,如果想得到list3中的每个数据除以list4中相对应的数据值,则要引入nump中的array函数
# print list3/list4
#下面的可以实现list5/list6
print list5/list6
print type(list) #结果:<type 'numpy.ndarray'>
print list.shape #结果:(2, 5) 二行5列二维数组
print list[0][2] #结果:1.71 ,取第0行第二列数值,即第三列1.71
print list[0,2]  #结果:1.71 ,取第0行第二列数值,即第三列1.71
print list[:,1:3] #结果:[[ 1.68  1.71] [ 59.2  63.6 ]],取所有行的,第一列和第三列数据
print list[1,:]  #结果:[ 54.4 59.2 63.6 88.4 68.7],取第一行的所有数值

2、 画图

(1)线图

import matplotlib.pyplot as plt
year=[1950,1970,1990,2010]
pop=[2.518,3.68,5.23,6.97]
# 1.线图
#调用plt。plot来画图,横轴纵轴两个参数即可
plt.plot(year,pop)
# python要用show展现出来图
plt.show()

(2)散点图

import matplotlib.pyplot as plt
year=[1950,1970,1990,2010]
pop=[2.518,3.68,5.23,6.97]
#2.散点图,只是用用scat函数来调用即可
plt.scatter(year,pop)
plt.show()

(3)直方图

import matplotlib.pyplot as plt
#3.直方图
# 用hist(x,bins=10)函数来画,参数中x是个List,构建直方图的数集,bins是算出数据的边界及每个bin中有多少个数据点
values=[0,0.6,1.4,1.6,2.2,2.5,2.6,3.2,3.5,3.9,4.2,6]
#有12个数据,bins=3将其分为3段,即(0,2),(2,4),(4,6),从直方图中可以看出(2,4)中的数据最多
plt.hist(values,bins=3)
plt.show()

相关推荐