Chapter 1 万物皆数 | 《数学要素》 | 从加减乘除到机器学习

#初学python,如有错误或感觉繁琐,请各位指正
#圆周率小数点后1024位热图及包含0-9数字个数
from mpmath import mp
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
#取pi的1024位小数
mp.dps = 1025
pi = mp.pi
#print(pi)
# 转换为字符串
pi = str(pi)
# 去除小数点
pi = pi.replace('.', '')
# 取后1024位
pi_1024 = pi[1:]
#print(pi_1024)
#把整数分割为数组
pi_1024L = list(pi_1024)
#print(pi_1024L)
#字符串数组转换为数字数组
pi_1024N = [ int(x) for x in pi_1024L ]
#print(pi_1024N)
#一维数组转多维数组
array = np.array(pi_1024N)
pi_array = array.reshape(32,32)
#print(pi_array)
#绘制热图
sns.set(rc = {'figure.figsize':(6,5)})
sns.heatmap(pi_array, cmap='RdYlBu_r', xticklabels = False, yticklabels = False)
plt.show()
#统计0-9数字个数
result = pd.value_counts(pi_1024N)
print (result)
热图结果:

统计结果:
