J'ai une structure DataFrame dérivée d'un fichier CSV sur des statistiques de population sur un certain nombre d'années. À savoir, les colonnes du fichier sont des intervalles de temps mensuels (1999-01, 1999-02 ... 2016-12) et les rangées sont des centres de population différents dans le monde (par exemple Londres, Toronto, Boston, etc.):Extraction et regroupement d'ensembles de colonnes dans un ensemble de données Pandas
df = pd.DataFrame({'1999-01' : [100, 5000, 8000], '1999-02' : [200, 6000, 9000], '1999-03' : [300, 7000, 10000], ..., cities : ['CityA', 'CityB', 'CityC' ...]})
Je voudrais séparer ces colonnes sur une base trimestrielle. Donc, je prendrais la moyenne des populations 1999-01, 1999-1902, 1999-9 pour chaque ligne, et de créer une nouvelle colonne « 1999T1 » pour cette entrée, le faire avec tous les 3 mois:
df_quarter = pd.DataFrame({'1999Q1' : [200, 6000, 9000], '1999Q2' : ..., cities = ['CityA', 'CityB', 'CityC' ...]})
#Q1 corresponds to months 01-03, Q2 to months 04-06, Q3 to months 07-09, Q4 months 10-12, all inclusive
Cependant , J'ai du mal à conceptualiser la requête pour y parvenir. J'ai un demi-esprit pour utiliser .groupby() et ensuite .agg(), mais je ne suis pas sûr de la façon dont je pourrais spécifier efficacement un groupement à 3 colonnes et parcourir les colonnes. Quelqu'un pourrait-il me diriger dans la bonne direction?
EDIT: Supposons que les colonnes ne soient pas des dates, mais plutôt quelque chose de plus abstrait, et qu'un simple rééchantillonnage des périodes ne puisse pas être utilisé. Par exemple:
#Prices of different foods from different vendors
df = pd.DataFrame({'oranges' : [2, 3, 7], 'apples' : [6, 3, 9], 'cheese' : [13, 9, 11], 'milk' : [6, 5, 12], 'vendors' : ['VendorA', 'VendorB', 'VendorC']})
Maintenant, si je voulais créer deux colonnes, combinant les fruits et les produits laitiers, est-il un moyen que je pourrais spécifier les indices à agréger sur?
S'il vous plaît lire [ce] (http: // stackoverflow .com/questions/20109391/how-to-make-good-reproducible-pandas-examples) et apprenez à poser une bonne question sur les pandas. Personne ne va produire des exemples et des solutions pour vous de nulle part. –
Apportera les modifications appropriées. –