5 Python moins connu Fonctionnalités de chaque données que les scientifiques devraient savoir


Image de l’éditeur | Chatte
# Introduction
Python est l’une des langues les plus populaires utilisées dans la sphère de science des données, évaluée pour sa simplicité, sa polyvalence et son puissant écosystème de bibliothèques, y compris Nombant, pandas, scikit-apprendet Tensorflow. Bien que ces outils fournissent une grande partie de la durée de travail, Python lui-même comprend une gamme de fonctionnalités qui peuvent vous aider à écrire du code plus propre, plus rapide et plus efficace. Beaucoup de ces capacités passent inaperçues, mais elles peuvent améliorer la façon dont vous structurez et gérez vos projets.
Dans cet article, nous explorons cinq caractéristiques Python moins connues mais bénéfiques que chaque scientifique des données devrait avoir dans leur boîte à outils.
# 1. else
Clause sur les boucles
Saviez-vous for
et while
Les boucles en python peuvent avoir un else
clause?
Bien que cela puisse sembler contre-intuitif au début, le else
Block s’exécute uniquement lorsque la boucle se termine sans un break
déclaration. Ceci est utile lorsque vous recherchez un ensemble de données et que vous souhaitez exécuter une logique uniquement si une condition spécifique n’a jamais été remplie.
for row in dataset:
if row('target') == 'desired_value':
print("Found!")
break
else:
print("Not found.")
Dans cet extrait, le else
Block s’exécute uniquement lorsque la boucle se termine sans rencontrer une pause. Cela vous permet d’éviter de créer des drapeaux ou des conditions supplémentaires en dehors de la boucle.
# 2. Le dataclasses
Module
Le classes de données Le module, introduit dans Python 3.7, fournit un décorateur et des fonctions d’assistance qui génèrent automatiquement des méthodes spéciales comme __init__()
, __repr__()
et __eq__()
pour vos cours. Ceci est utile dans la science des données lorsque vous avez besoin de classes légères pour stocker des paramètres, des résultats ou des paramètres de configuration sans écrire du code de chauffeur répétitif.
from dataclasses import dataclass
@dataclass
class ExperimentConfig:
learning_rate: float
batch_size: int
epochs: int
Avec @dataclass
vous obtenez un constructeur propre, une représentation de chaîne lisible et des capacités de comparaison.
# 3. L’opérateur de morse (:=
)
Le opérateur de morse (:=
), introduit dans Python 3.8, vous permet d’attribuer des valeurs aux variables dans le cadre d’une expression. Ceci est utile lorsque vous souhaitez à la fois calculer et tester une valeur sans répéter le calcul à plusieurs endroits.
data = (1, 2, 3, 4, 5)
if (avg := sum(data) / len(data)) > 3:
print(f"Average is {avg}")
Ici, avg
est attribué et vérifié en même temps. Cela supprime le besoin d’une autre ligne et rend votre code plus facile à lire.
# 4 enumerate()
pour les boucles indexées
Lorsque vous avez besoin à la fois de l’index et de la valeur tout en itérant, enumerate()
est la façon la plus pythonique de le faire. Il prend un itérable (comme une liste, un tuple ou une chaîne) et renvoie des paires de (index, valeur) pendant que vous boucle.
for i, row in enumerate(data):
print(f"Row {i}: {row}")
Cela améliore la lisibilité, réduit les risques d’erreurs et rend votre intention plus claire. Il est utile dans la science des données lors de l’itération des rangées de données ou des résultats avec des positions qui comptent.
# 5. Le collections
Module
Python collections
Le module fournit des données de conteneurs spécialisées qui peuvent être plus efficaces et expressives que d’utiliser uniquement des listes ou des dictionnaires. Parmi les plus populaires est Counter
qui peut compter les éléments dans un itérable avec un code minimal.
from collections import Counter
word_counts = Counter(words)
most_common = word_counts.most_common(5)
Besoin d’un dictionnaire ordonné? Utiliser OrderedDict
. Besoin d’un dictionnaire avec des valeurs par défaut? Essayer defaultdict
. Ces outils éliminent le besoin de logique manuelle verbeux et peuvent même améliorer les performances du traitement des données à grande échelle.
# Conclusion
Des outils comme le else
clause sur les boucles, dataclasses
et l’opérateur de morse peut éliminer le passe-partout inutile et rendre la logique plus concise. Fonctions comme enumerate()
et des modules comme collections
Aidez-vous à itérer, à compter et à organiser des données avec élégance et efficacité. En incorporant ces gemmes moins connues dans votre flux de travail, vous pouvez réduire la complexité, éviter les pièges courants et vous concentrer davantage sur la résolution du problème réel de données plutôt que pour vous débarrasser de votre code.
Jayita Gulati est une passionnée d’apprentissage automatique et une écrivaine technique motivée par sa passion pour la construction de modèles d’apprentissage automatique. Elle est titulaire d’une maîtrise en informatique de l’Université de Liverpool.