teaching:progappchim:mendeleev

Librairie Mendeleev

La librairie Mendeleev est complète et évoluée

Contrairement à ce qu'on trouve dans la documentation, il semble que le canal (channel) à référencer est celui de conda-forge, plutôt que lmmentel.

En ligne de commande (console), cela donnerait ceci : conda install -c conda-forge mendeleev=0.6.1

références :

  • Créer une première cellule de code permettant l'installation de la librairie mendeleev :
    !pip install mendeleev
  • Fichier exemple : mendeleev_primer_01.ipynb
IonizationEnergy-01.py
#!/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()
boiling-melting-temperatures-01.py
#!/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,
          )
elements-names-01.py
#!/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')
Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/mendeleev.txt
  • Dernière modification: 2022/03/15 11:31
  • de villersd