La librairie Mendeleev est complète et évoluée
En ligne de commande (console), cela donnerait ceci : conda install -c conda-forge mendeleev=0.6.1
références :
!pip install mendeleev
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Library references : * https://pypi.org/project/mendeleev/ * https://mendeleev.readthedocs.io/en/stable/ * https://github.com/lmmentel/mendeleev """ from mendeleev import element import matplotlib.pyplot as plt x, y = range(1,108), [element(i).ionenergies[1] for i in range(1,108)] for i in range(1,108): print(x[i-1], y[i-1]) plt.figure() plt.plot(x, y) plt.savefig("ionenergies.png") plt.show()
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Library references : * https://pypi.org/project/mendeleev/ * https://mendeleev.readthedocs.io/en/stable/ * https://github.com/lmmentel/mendeleev """ from mendeleev import element # on peut accéder aux valeurs en utilisant le symbole de l'élément print(element('Na').atomic_number) print(element('Na').melting_point) print(element('Na').boiling_point) # on peut aussi accéder aux mêmes valeurs par nombre atomique print(element(11).melting_point, element(11).boiling_point) # On peut parcourir une liste d'éléments, par exemple les 18 premiers for atnum in range(1, 19): print(element(atnum).atomic_number, element(atnum).symbol, element(atnum).name, element(atnum).melting_point, element(atnum).boiling_point, )
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jan 8 19:11:22 2021 @author: villersd """ import string from mendeleev import element print(list(range(6))) for ele in element([1, 2, 3, 4, 5, 6]): print(ele.name) for ele in element(list(range(1,119))): print(ele.symbol,) symbols = [element(i).symbol for i in range(1,119)] print(symbols) # recherche de lettres non utilisées pour des symboles chimiques à une seule # letre # https://docs.python.org/release/3.8.5/library/string.html print(string.ascii_uppercase) nonsymbols = [U for U in string.ascii_uppercase if U not in symbols] print(nonsymbols)
Application : intégrer les parties de code suivante dans un notebook, après avoir installé la librairie mendeleev :
from mendeleev import element for Z in range(1,19): print(Z,element(Z))
from mendeleev import get_table ptable = get_table('elements') ptable.info()
cols = ['atomic_number', 'symbol', 'name', 'atomic_radius', 'covalent_radius_pyykko', 'en_pauling'] ptable[cols].head(19)
type(ptable) ptable.plot(x='atomic_number', y='covalent_radius_pyykko')