Image par auteur
Python, R et SQL sont souvent cités comme les langages les plus utilisés pour le traitement, la modélisation et l'exploration des données. Bien que cela puisse être vrai, il n'y a aucune raison pour que d'autres ne puissent pas être - ou ne soient pas - utilisés pour faire ce travail.
Le shell Bash est un shell de système d'exploitation Unix et de type Unix, ainsi que les commandes et le langage de programmation qui l'accompagnent. Les scripts Bash sont des programmes écrits à l'aide de ce langage de script shell Bash. Ces scripts sont exécutés séquentiellement par l'interpréteur Bash et peuvent inclure toutes les constructions généralement trouvées dans d'autres langages de programmation, y compris les instructions conditionnelles, les boucles et les variables.
Les utilisations courantes des scripts Bash incluent :
- automatiser les tâches d'administration système
- effectuer des sauvegardes et de la maintenance
- analyse des fichiers journaux et d'autres données
- création d'outils et d'utilitaires en ligne de commande
Les scripts Bash sont également utilisés pour orchestrer le déploiement et la gestion de systèmes distribués complexes, ce qui en fait une compétence extrêmement utile dans les domaines de l'ingénierie des données, des environnements de cloud computing et de DevOps.
Dans cet article, nous allons examiner cinq tâches différentes liées à la science des données et adaptées aux scripts, où nous devrions voir à quel point Bash peut être flexible et utile.
Nettoyer et formater les données brutes
Voici un exemple de script bash pour nettoyer et formater des fichiers de données brutes :
#!/bin/bash # Set the input and output file paths
input_file="raw_data.csv"
output_file="clean_data.csv" # Remove any leading or trailing whitespace from each line
sed 's/^[ t]*//;s/[ t]*$//' $input_file > $output_file # Replace any commas within quoted fields with a placeholder
sed -i 's/","/,/g' $output_file # Replace any newlines within quoted fields with a placeholder
sed -i 's/","/ /g' $output_file # Remove the quotes around each field
sed -i 's/"//g' $output_file # Replace the placeholder with the original comma separator
sed -i 's/,/","/g' $output_file echo "Data cleaning and formatting complete. Output file: $output_file"
Ce script :
- suppose que votre fichier de données brutes se trouve dans un fichier CSV appelé
raw_data.csv
- enregistre les données nettoyées sous
clean_data.csv
- utilise l'
sed
commande de :- supprimer les espaces blancs de début/fin de chaque ligne et remplacer les virgules dans les champs entre guillemets par un espace réservé
- remplacer les nouvelles lignes dans les champs entre guillemets par un espace réservé
- supprimer les guillemets autour de chaque champ
- remplacer l'espace réservé par le séparateur de virgule d'origine
- imprime un message indiquant que le nettoyage et le formatage des données sont terminés, ainsi que l'emplacement du fichier de sortie
Automatisez la visualisation des données
Voici un exemple de script bash pour automatiser les tâches de visualisation de données :
#!/bin/bash # Set the input file path
input_file="data.csv" # Create a line chart of column 1 vs column 2
gnuplot -e "set datafile separator ','; set term png; set output 'line_chart.png'; plot '$input_file' using 1:2 with lines" # Create a bar chart of column 3
gnuplot -e "set datafile separator ','; set term png; set output 'bar_chart.png'; plot '$input_file' using 3:xtic(1) with boxes" # Create a scatter plot of column 4 vs column 5
gnuplot -e "set datafile separator ','; set term png; set output 'scatter_plot.png'; plot '$input_file' using 4:5 with points" echo "Data visualization complete. Output files: line_chart.png, bar_chart.png, scatter_plot.png"
Le script ci-dessus :
- suppose que vos données se trouvent dans un fichier CSV appelé
data.csv
- utilise l'
gnuplot
commande pour créer trois types de tracés différents :- un graphique linéaire de la colonne 1 par rapport à la colonne 2
- un graphique à barres de la colonne 3
- un nuage de points de la colonne 4 par rapport à la colonne 5
- génère les tracés au format png et les enregistre sous
line_chart.png
,bar_chart.png
et lascatter_plot.png
respectivement - imprime un message indiquant que la visualisation des données est terminée et l'emplacement des fichiers de sortie
Veuillez noter que pour que ce script fonctionne, il faudrait ajuster les numéros de colonne et les types de graphiques en fonction de vos données et de vos besoins.
Analyses statistiques
Voici un exemple de script bash pour effectuer une analyse statistique sur un ensemble de données :
#!/bin/bash # Set the input file path
input_file="data.csv" # Set the output file path
output_file="statistics.txt" # Use awk to calculate the mean of column 1
mean=$(awk -F',' '{sum+=$1} END {print sum/NR}' $input_file) # Use awk to calculate the standard deviation of column 1
stddev=$(awk -F',' '{sum+=$1; sumsq+=$1*$1} END {print sqrt(sumsq/NR - (sum/NR)**2)}' $input_file) # Append the results to the output file
echo "Mean of column 1: $mean" >> $output_file
echo "Standard deviation of column 1: $stddev" >> $output_file # Use awk to calculate the mean of column 2
mean=$(awk -F',' '{sum+=$2} END {print sum/NR}' $input_file) # Use awk to calculate the standard deviation of column 2
stddev=$(awk -F',' '{sum+=$2; sumsq+=$2*$2} END {print sqrt(sumsq/NR - (sum/NR)**2)}' $input_file) # Append the results to the output file
echo "Mean of column 2: $mean" >> $output_file
echo "Standard deviation of column 2: $stddev" >> $output_file echo "Statistical analysis complete. Output file: $output_file"
Ce script :
- suppose que vos données se trouvent dans un fichier CSV appelé
data.csv
- utilise l'
awk
commande pour calculer la moyenne et l'écart type de 2 colonnes - sépare les données par une virgule
- enregistre les résultats dans un fichier texte
statistics.txt
. - imprime un message indiquant que l'analyse statistique est terminée et l'emplacement du fichier de sortie
Notez que vous pouvez ajouter plus awk
commandes pour calculer d'autres valeurs statistiques ou pour plus de colonnes.
Gérer les dépendances des packages Python
Voici un exemple de script bash pour gérer et mettre à jour les dépendances et les packages requis pour les projets de science des données :
#!/bin/bash # Set the path of the virtual environment
venv_path="venv" # Activate the virtual environment
source $venv_path/bin/activate # Update pip
pip install --upgrade pip # Install required packages from requirements.txt
pip install -r requirements.txt # Deactivate the virtual environment
deactivate echo "Dependency and package management complete."
Ce script :
- suppose que vous avez configuré un environnement virtuel et un fichier nommé
requirements.txt
contenant les noms et les versions des packages que vous souhaitez installer - utilise l'
source
commande pour activer un environnement virtuel spécifié par le cheminvenv_path
. - Usages
pip
mettre à niveaupip
à la dernière version - installe les packages spécifiés dans le
requirements.txt
filet - utilise la commande deactivate pour désactiver l'environnement virtuel après l'installation des packages
- imprime un message indiquant que la gestion des dépendances et des packages est terminée
Ce script doit être exécuté chaque fois que vous souhaitez mettre à jour vos dépendances ou installer de nouveaux packages pour un projet de science des données.
Gérer l'exécution du notebook Jupyter
Voici un exemple de script bash pour automatiser l'exécution de Jupyter Notebook ou d'autres environnements interactifs de science des données :
#!/bin/bash # Set the path of the notebook file
notebook_file="analysis.ipynb" # Set the path of the virtual environment
venv_path="venv" # Activate the virtual environment
source $venv_path/bin/activate # Start Jupyter Notebook
jupyter-notebook $notebook_file # Deactivate the virtual environment
deactivate echo "Jupyter Notebook execution complete."
Le script ci-dessus :
- suppose que vous avez configuré un environnement virtuel et que Jupyter Notebook y est installé
- utilise l'
source
commande pour activer un environnement virtuel, spécifié par le cheminvenv_path
- utilise l'
jupyter-notebook
commande pour démarrer Jupyter Notebook et ouvrir le fichier spécifiénotebook_file
- utilise l'
deactivate
commande pour désactiver l'environnement virtuel après l'exécution de Jupyter Notebook - imprime un message indiquant que l'exécution de Jupyter Notebook est terminée
Ce script doit être exécuté chaque fois que vous souhaitez exécuter un bloc-notes Jupyter ou d'autres environnements de science des données interactifs.
J'espère que ces scripts simples ont suffi à vous montrer la simplicité et la puissance des scripts avec Bash. Ce n'est peut-être pas la solution idéale pour toutes les situations, mais elle a certainement sa place. Bonne chance dans votre script.
Matthieu Mayo (@mattmayo13) est un scientifique des données et le rédacteur en chef de KDnuggets, la ressource en ligne phare de la science des données et de l'apprentissage automatique. Ses intérêts portent sur le traitement du langage naturel, la conception et l'optimisation d'algorithmes, l'apprentissage non supervisé, les réseaux de neurones et les approches automatisées de l'apprentissage automatique. Matthew détient une maîtrise en informatique et un diplôme d'études supérieures en exploration de données. Il peut être contacté à editor1 à kdnuggets[dot]com.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://www.kdnuggets.com/2023/02/bash-scripts-data-science.html?utm_source=rss&utm_medium=rss&utm_campaign=5-genuinely-useful-bash-scripts-for-data-science
- 1
- 10
- a
- au dessus de
- administration
- Après
- algorithme
- Tous
- selon une analyse de l’Université de Princeton
- ainsi que les
- approches
- autour
- article
- Automatisation
- automatiser
- sauvegardes
- barre
- basé
- bash
- va
- LES MEILLEURS
- boîtes
- calculer
- appelé
- Assurément
- Graphique
- Charts
- cité
- Nettoyage
- le cloud
- le cloud computing
- Colonne
- Colonnes
- complet
- complexe
- ordinateur
- Informatique
- informatique
- engendrent
- données
- data mining
- science des données
- Data Scientist
- visualisation de données
- Degré
- Dépendance
- déploiement
- Conception
- déviation
- DevOps
- différent
- distribué
- systèmes distribués
- DOT
- chacun
- echo
- éditeur en chef
- ENGINEERING
- assez
- Environment
- environnements
- Ether (ETH)
- Chaque
- exemple
- exécuter
- exécution
- Explorer
- champ
- Des champs
- Déposez votre dernière attestation
- Fichiers
- flexible
- le format
- trouvé
- de
- fonction
- Go
- aller
- diplôme
- détient
- en espérant
- Comment
- HTTPS
- in
- Dans d'autres
- comprendre
- Y compris
- incroyablement
- contribution
- installer
- Installé
- Interactif
- intérêts
- IT
- Jupyter Notebook
- KDnuggetsGenericName
- langue
- Langues
- Nouveautés
- conduisant
- apprentissage
- Gamme
- lignes
- emplacement
- Style
- chance
- click
- machine learning
- facile
- Fabrication
- gestion
- les gérer
- maître
- message
- pourrait
- Mines
- modélisation statistique
- PLUS
- Nommé
- noms
- Nature
- Langage naturel
- Traitement du langage naturel
- Besoin
- réseaux
- Neural
- les réseaux de neurones
- Nouveauté
- cahier
- numéros
- ONE
- en ligne
- ouvert
- d'exploitation
- le système d'exploitation
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- original
- Autre
- Autres
- paquet
- Forfaits
- chemin
- effectuer
- Place
- espace réservé
- Platon
- Intelligence des données Platon
- PlatonDonnées
- des notes bonus
- power
- traitement
- Programmation
- langages de programmation
- Programmes
- Projet
- projets
- Python
- raw
- les données brutes
- atteint
- raison
- supprimez
- remplacer
- conditions
- Exigences
- ressource
- Résultats
- Courir
- Sciences
- Scientifique
- scripts
- set
- coquillage
- devrait
- montrer
- étapes
- simplicité
- situation
- compétence
- sur mesure
- Identifier
- spécifié
- SQL
- Standard
- Commencer
- déclarations
- statistique
- statistiques
- combustion propre
- Système
- Prenez
- tâches
- Les
- trois
- fiable
- à
- les outils
- oui
- types
- typiquement
- unix
- apprentissage non supervisé
- Mises à jour
- la mise à jour
- améliorer
- utilisé
- les services publics
- Valeurs
- les variables
- version
- Salle de conférence virtuelle
- visualisation
- tout en
- dans les
- activités principales
- pourra
- code écrit
- Votre
- zéphyrnet