Lors de récents tests, j'ai utilisé pandas pour divers triatements de données. Voici un résumé des fonctionnalités employées.
1. Installation et importation
pip install pandas
import pandas as pd
2. Lecture d'un fichier CSV
data_frame = pd.read_csv('fichier.csv', encoding='latin-1')
# Pour un fichier sans en-tête, spécifier les colonnes à utiliser :
data_frame2 = pd.read_csv('chemin_fichier.csv', header=None, usecols=range(9))
3. Suppression de colonnes sans nom
data_frame = data_frame.loc[:, ~data_frame.columns.str.match('^Unnamed')]
4. Retrait d'une colonne spécifique
data_frame.drop(columns=['colonne_x'], inplace=True)
5. Obtention de la liste des noms de colonnes
noms_colonnes = list(data_frame.columns)
6. Affectation de valeurs à une colonne
data_frame['colonne_y'] = 1
7. Concaténation verticale de DataFrames
df_concatene = pd.concat([data_frame1, data_frame2], axis=0, join='inner')
8. Exportation vers un fichier CSV
data_frame.to_csv('resultat.csv', sep=';', header=True, index=False)
9. Fusion de DataFrames
df_fusionne = pd.merge(data_frame1, data_frame2, on='cle_commun')
10. Élimination des doublons
df_sans_doublons = df_concatene.drop_duplicates(subset=['colonne_cible'], keep='first')
11. Vérification d'un DataFrame vide
if data_frame.empty:
print("Le DataFrame ne contient aucune donnée.")
12. Écriture dans un fichier Excel
with pd.ExcelWriter('sortie.xlsx') as writer:
data_frame.to_excel(writer, sheet_name='Feuille1', index=False)
13. Lecture d'un fichier Excel
df_excel = pd.read_excel('source.xlsx', sheet_name='Données')
14. Transformation et assignation de colonnes
df_resultat['nouvelle_col'] = df_resultat['colonne_orig'].str.extract(r'(\d+)').astype(float)
15. Extraction de données et conversion de type
valeurs = df_resultat['colonne_a'].astype('float64').to_numpy()
16. Création de tableaux croisés dynamiques
import numpy as np
tableau_croise = pd.pivot_table(
df_resultat,
index=['categorie'],
values=['mesure'],
aggfunc=[len, np.max, np.min, np.mean],
fill_value=0,
margins=True,
margins_name='Total'
)
17. Tri des données
df_trie = df.sort_values(by=['critere1', 'critere2'], ascending=[False, True])
18. Réinitialisation de l'index
df.reset_index(drop=True, inplace=True)
19. Comparaison de DataFrames
from pandas.testing import assert_frame_equal
try:
assert_frame_equal(df_a, df_b)
print("Les DataFrames sont identiques.")
except AssertionError:
print("Différences détectées.")