1
votes

Comment obtenir la somme totale d'une colonne pour une date spécifiée?

J'ai un où la colonne d'index sont des dates. Les autres colonnes représentent les ventes totales de chaque produit pour une journée spécifique. J'ai besoin d'obtenir le total des ventes pour chaque colonne pour l'année 2010.

Je sais comment obtenir la somme totale d'une colonne, mais j'ai du mal à obtenir la somme pour une période / une période donnée.

Les dates de la colonne d'index sont au format suivant 2007-09-22


2 commentaires

veuillez ajouter l'extrait de code que vous avez effectué jusqu'à présent pour la tâche ci-dessus


Pouvez-vous ajouter un échantillon de données et la sortie attendue? Soyez libre de changer rng = pd.date_range ('2018-04-03', périodes = 10, freq = '4M') df = pd.DataFrame ({'Product 1': range (10), 'Product 2 ': plage (1, 11)}, rng)


3 Réponses :



0
votes

Vous pouvez utiliser votre index de manière assez flexible s'il s'agit d'un index date-heure. Si vous utilisez le dataframe (tel que fourni par @jezrael), vous pouvez faire ce qui suit.

df.groupby (df.index.month) .sum ()

Sortie

       Product 1    Product 2
2018    3           6
2019    12          15
2020    21          24
2021    9           10

Ou

df.groupby (df.index.year) .sum () code>

Sortie

    Product 1   Product 2
4   18          22
8   12          15
12  15          18


0 commentaires

0
votes

Un simple groupby peut fonctionner pour les agrégats. Si vous souhaitez agréger à l'aide de plusieurs colonnes, recherchez-le dans documentation pour groupby utilisant des pandas.

import pandas as pd

data = {'Date': ['2007-09-22', '2007-09-23','2007-09-22'], 'Product 1': [1,2,3], 'Product 2': [4,5,6]}
df = pd.DataFrame(data, columns = ['Date','Product 1','Product 2'])

df.groupby('Date').sum()


0 commentaires