The empirical observation that the transistor density of integrated circuits doubles every 2 years.
简单来说,就是集成电路的晶体管密度每两年翻一番。
https://en.wikipedia.org/wiki/Transistor_count#Microprocessors
维基百科给出了从1971年到2018年的各大厂家生产的微处理器的各种信息。如下图:
将数据复制后粘贴到Excel中,将格式统一,如下图:
过程中用到的库有numpy,matplotlib,pandas,一劳永逸的办法就是直接下载一个Anaconda,这个软件里面会包含python的几乎所有数据分析的库,十分方便。
以下是代码实现:
#coding:UTF-8
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_excel(‘D:\Python_data\tran_count.xlsx’)
df = df.groupby(‘Date of introduction’).aggregate(np.mean)
years = df.index.values
counts = df[‘Transistor count’].values
poly = np.polyfit(years,np.log(counts),deg=1) #最小二乘拟合曲线
plt.semilogy(years,counts,‘o’) #y坐标轴是对数坐标系
plt.semilogy(years,np.exp(np.polyval(poly,years))) #polyval()可求出在years点的poly的值
plt.show()
过程中的图片在pandas的DataFrame的美化之下还蛮好看的:
在利用了matplotlib中的对数坐标轴后,可以发现拟合曲线是一条可以说是非常完美的验证了Moore定律。