Skip to content
Visualizations for excercise. Taken from Numberphile video
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
#Defines the range for the visualization
prime_range = range(0, 200000)
#creates list of primes
primes = [i for i in prime_range if 0 not in [i%n for n in range(2, i)]]
n_range = range(0, len(primes))
df = pd.DataFrame(primes, columns=['prime'])
df['n']=n_range
df['p_to_bin']=df['prime'].apply(bin)
df['prime_binary']=df['p_to_bin'].str.replace("0b","")
reverse_bynary = []
for i in df['prime_binary']:
bin_value = "0b"+ str(i[::-1])
reverse_bynary.append(bin_value)
df['rev_bin']=reverse_bynary
df['rev_prime']=df['rev_bin'].apply((lambda x: int(x,2) ))
df['diff']=df['prime']-df['rev_prime']
print(df.info())
print(df.head(15))
plt.scatter(df['n'],df['diff'])
plt.show()
# Start coding here...