1.3.5.3 数据统计

populations.txt中的数据描述了野兔和猞猁(以及胡罗比)在加拿大北部过去十年的数量:

In [254]:

  1. data = np.loadtxt('data/populations.txt')
  2. year, hares, lynxes, carrots = data.T # 技巧: 列到变量
  3. plt.axes([0.2, 0.1, 0.5, 0.8])
  4. plt.plot(year, hares, year, lynxes, year, carrots)
  5. plt.legend(('Hare', 'Lynx', 'Carrot'), loc=(1.05, 0.5))

Out[254]:

  1. <matplotlib.legend.Legend at 0x1135d9510>

1.3.5.3 数据统计 - 图1

根据populations.txt中的数据计算并打印…

  • 每个物种在这个时间段内的数量平均数及标准差。
  • 每个物种在哪一年数量最多。
  • 每一年哪个物种数量最多。(提示:np.array(['H', 'L', 'C'])argsort 和象征索引)
  • 哪一年数量超过50000。(提示:比较和 np.any
  • 每个物种有最少数量的两年。(提示: argsort、象征索引)
  • 比较(作图)野兔和猞猁总量的变化(看一下 help(np.gradient))。看一下相关(见 help(np.corrcoef))。… 所有都不应该使用for循环。

答案:Python源文件