Chargement de données
import pandas as pd
# Lire un fichier CSV
df = pd.read_csv(csv_file_path, sep=',')
Manipulation de colonnes
# Retirer une colonne
df_sans_colonne2 = df.drop(columns='colonne2')
# Retirer plusieurs colonnes
df_sans_colonnes23 = df.drop(columns=['colonne2', 'colonne3'])
# Ajouter une colonne
df['Date'] = today
# Renommer une colonne
df_renomme = df.rename(columns={'ancien_nom': 'nouveau_nom'})
# Ajouter une colonne calculée
df['containsCategory'] = df['decodedURL'].apply(contains_category_in_url)
Manipulation de lignes
# Retirer les lignes dont un champ vaut NA
df_cleaned = df.dropna(subset=['pageValue'])
# Filtrer les données
urls_data = urls_data[urls_data['name'] != 'Notice PDF']
Types et informations des données
# Récupérer le type des colonnes
types_colonnes = df_cleaned.dtypes
print(types_colonnes)
Jointures de DataFrames
# Jointure externe (outer join)
merged_data = pd.merge(urls_data, data_selected, on='url', how='outer')
# Jointure gauche (left join)
merged_data = pd.merge(urls_data, data_selected, on='url', how='left')
# Jointure droite (right join)
merged_data = pd.merge(urls_data, data_selected, on='url', how='right')
#Jointure quand le nom de la clé de jointure diffère dans les 2 dataframes
merged_data = pd.merge(terms, temp, left_on='term', right_on="keyword", how='inner')
Transformation de données
# Transformer une liste en DataFrame
existing_articles = pd.DataFrame(existing_articles, columns=['domain','keyword','datePublication',"url","type","champ2"])
# Ajouter une colonne avec une fonction appliquée
df['panierCount'] = df['fileName'].apply(lambda filename: count_panier(filename, directory_path))
Manipulation de dictionnaires
# Récupérer toutes les valeurs d'un dictionnaire
temp = data.values()
# Retirer un champ d'un dictionnaire
df_cleaned.pop('ips', None)
# Transformer un dictionnaire en DataFrame
df_cleaned = pd.DataFrame(df_cleaned, index=[0])
Informations supplémentaires et fonctions utiles
# Afficher les 5 premières lignes du DataFrame
print(df.head())
# Obtenir des informations générales sur le DataFrame
print(df.info())
# Résumé statistique des données
print(df.describe())
#Parcourir le dataframe
for index, row in all_data.iterrows():
site = row[‘site’].strip()
Exemple complet d’utilisation
import pandas as pd
from datetime import datetime
# Lire un fichier CSV
csv_file_path = 'path/to/your/csvfile.csv'
df = pd.read_csv(csv_file_path, sep=',')
# Retirer des colonnes
df = df.drop(columns=['colonne2', 'colonne3'])
# Ajouter une colonne avec la date d'aujourd'hui
today = datetime.today().strftime('%Y-%m-%d')
df['Date'] = today
# Retirer les lignes où 'pageValue' est NA
df_cleaned = df.dropna(subset=['pageValue'])
# Renommer une colonne
df_renomme = df_cleaned.rename(columns={'ancien_nom': 'nouveau_nom'})
# Ajouter une colonne calculée
df_renomme['containsCategory'] = df_renomme['decodedURL'].apply(contains_category_in_url)
# Filtrer les données
urls_data = df_renomme[df_renomme['name'] != 'Notice PDF']
# Jointure externe
data_selected = pd.read_csv('path/to/another/csvfile.csv')
merged_data = pd.merge(urls_data, data_selected, on='url', how='outer')
# Transformation de liste en DataFrame
existing_articles = [{'domain': 'example.com', 'keyword': 'example', 'datePublication': '2021-01-01', 'url': 'http://example.com', 'type': 'article', 'champ2': 'valeur'}]
df_existing_articles = pd.DataFrame(existing_articles)
# Ajouter une colonne avec une fonction personnalisée
directory_path = '/path/to/directory'
df_existing_articles['panierCount'] = df_existing_articles['fileName'].apply(lambda filename: count_panier(filename, directory_path))
# Afficher les 5 premières lignes du DataFrame
print(df_existing_articles.head())
0 commentaire