Résolue

Enregistrer données de values_counts()

# Dates # Fichiers # pandas

Bonjour, j'aimerais stocker les informations que retourne values_counts().


Il s'agit d'un tableau avec des informations de maintenance ""date, matériel, localisation etc."


Je récupère les interventions dans un intervalle de temps "newdate2021_debut" et "newdate2021_fin " et par la suite je récupère la colonne "Matériel libellé".


Je finis par faire values_counts() sur la colone "Matériel Libellé".


Comment puis je faire stocker les informations que me retourne values_counts() car par la suite, je te souhaite fusionner les tableaux par années?None



import datetime

import xlrd

import pandas as pd

import itertools

import csv


chemin = r"C:\Users\gdelbois\OneDrive - Septodont\Desktop\Projet_2023\Sujet 2\Identification_GP_non_réalises.xls"


data2 = pd.read_excel(chemin)


new_ot2021 = []

nombre2 = 1

compte2 = 1


newdate2021_debut = datetime.datetime(2020, 1, 1)

newdate2021_fin = datetime.datetime(2021, 1, 1)


data2["Date/heure de fin de l'intervention"] = pd.to_datetime(data2["Date/heure de fin de l'intervention"], format ='%d/%m/%Y %H:%M:%S' )


while nombre2 < len(data) :

    if newdate2021_debut <data2["Date/heure de fin de l'intervention"][nombre2] and data["Date/heure de fin de l'intervention"][nombre2]<newdate2021_fin  :

        new_ot2022.append(data2["Matériel Libellé"][nombre2])

        compte2 += 1

    nombre2 += 1

df2 = pd.DataFrame(new_ot2022)

df2 = df2.value_counts()

print("----- ANNEE 2020-----")

print(df2)


None

Hello Gael,


je ne suis pas sûr de comprendre ce que tu veux dire par stocker ? Tu veux dire exporter ? Si c'est le cas tu peux exporter en csv ou excel par exemple


# en csv
df2 .to_csv("mes_data.csv", sep=";")
# en excel
df2.to_excel("mes_data.xlsx")



aussi je ne suis pas sûr de ce que tu veux faire mais je te propose aussi une solution avec des groupby pour rassembler directement par année. J'ai créé un faux fichier qui ressemble au tien pour l'exemple.


import pandas as pd

df = pd.read_csv("value_count.csv",
                 sep=",")

df["date"] = pd.to_datetime(df["date"])

df["year"] = df.date.apply(lambda elem:elem.year)
df = df.drop("date", axis=1)
df_export = df.groupby("year").value_counts()


ci dessous le résultat (avec mon faux fichier):



A ta disposition si tu as des questions ou si ce n'était pas exactement ce que tu cherchais.

Bonsoir,


Merci pour ton retour.

c'est exactement ce que j'avais besoin.

merci à toi, bonne soirée

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.