Question:
Quel serait un bon moyen de travailler avec un grand ensemble de données dans Excel?
Furlong
2011-05-26 02:32:14 UTC
view on stackexchange narkive permalink

J'ai actuellement un grand ensemble de données au format .dbf et ce que j'aimerais faire, c'est pouvoir le manipuler facilement dans Excel et faire quelque chose comme le sous-total et calculer stdev et ratios.

Détails de l'ensemble de données; cet ensemble de données contient des informations sur l'acheteur. Il a 1,2 million de lignes et 20 colonnes où les lignes sont chacune un acheteur unique et les colonnes contiennent leurs données d'achat (ce qu'ils ont acheté).

J'utilise les programmes Office 2007, je connais Excel le mieux mais c'était me demandant quelles alternatives je pourrais utiliser pour atteindre mes objectifs (sous-total, calcul de stdev et ratio).

Autant que je sache, Excel 2007 ne vous permet d'avoir qu'un million de lignes environ (une recherche rapide sur Google donne un maximum de 1 048 576 lignes dans Excel 2007). Je dirais que votre meilleur pari est d'utiliser un programme de base de données, comme SQL ou Access. Il existe des requêtes de base de données simples qui vous donneront ce que vous voulez (sous-totaux, sd, etc.). De plus, je n'ai pas vraiment travaillé avec moi-même, mais je suis sûr que vous pouvez accéder aux ensembles de données depuis Access en utilisant Excel. Honnêtement, cependant, j'utiliserais simplement R, et pour ce que vous essayez de calculer, il ne faut pas longtemps pour apprendre quelques fonctions simples :)
Merci pour la suggestion concernant R, connaissez-vous des ressources en ligne qui pourraient me permettre d'être opérationnel assez rapidement? J'ai une certaine expérience de la programmation en Python.
@Furlong: Vous pouvez télécharger R gratuitement [ici] (http://www.r-project.org/). Il existe de nombreux guides pour démarrer avec R disponibles en ligne. Voici [un pour les débutants] (http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf) que j'ai trouvé sur google. Puisque vous avez de l'expérience dans un langage de programmation, l'idée d'attribution de variable devrait vous convenir. Vous devriez vous concentrer sur la lecture de fichiers dans R et apprendre à utiliser des fonctions (comme sum (), mean (), sd (), etc.).
Si votre fichier d'origine est au format Access, vous pouvez calculer ce dont vous avez besoin à l'aide de fiches techniques et / ou de modules Visual Basic.
Si vous connaissez déjà Python, cette tâche est simple et il n'est pas nécessaire de télécharger R. Il existe le package dbfpy pour lire directement les fichiers dbf, xlrd pour lire les fichiers Excel et numpy a les statistiques récapitulatives.
@Josh, xlrd fonctionne uniquement avec xls, Excel 2007 utilise xlsx. Vous pouvez convertir, mais cela peut devenir fastidieux. Et probablement xlwt sera plus nécessaire ici pour écrire dans des fichiers Excel, pas pour lire.
@mpiktas - Vous avez raison; Merci pour la correction! Je devrais aussi savoir mieux. J'ai lu des fichiers Excel 2007 avec win32com, puis il y a les packages openpyxl et pyxlsx. Ce blog présente une tonne de choses que vous pouvez faire pour lire / écrire des fichiers Excel par programmation à partir de Python (par exemple, écrire des tableaux croisés dynamiques par programme): http://www.pythonexcels.com/
Trois réponses:
#1
+14
b_dev
2011-05-26 03:39:08 UTC
view on stackexchange narkive permalink

Si vous pensez pouvoir démarrer plus de projets de ce type très volumineux de type Excel à l'avenir, vous devriez envisager d'installer et de passer 10 heures à apprendre les bases de R (gratuit), ce qui vous permettra de faire ce que vous mentionnez dans votre question. , d'une manière beaucoup plus efficace qu'Excel.
R pour les débutants PDF

Vous pouvez poser des questions sur R sur StackOverflow et ici.

"d'une manière beaucoup plus efficace qu'Excel", je suppose :)
Bonne prise. Je viens de modifier cela.
Des questions sur R peuvent être posées ici aussi :)
#2
+10
Henrik
2011-05-26 18:55:58 UTC
view on stackexchange narkive permalink

Bien que je recommande toujours d'utiliser R, vous pouvez néanmoins obtenir ce que vous voulez avec python.

Il existe au moins un package pour lire les fichiers dbf.

De plus, scipy propose une large gamme de fonctions d'analyse statistique. Par exemple, la bibliothèque ScientifyPython contient probablement les fonctions dont vous avez besoin.

La meilleure idée est de vérifier scipy.org. Vous y trouverez ce que vous voulez.

(Mais apprendre R est une excellente idée !!)

+1 pour avoir donné des instructions à quelqu'un dans une langue qu'il connaît déjà. Notez que numpy possède toutes les fonctionnalités dont l'OP a décrit le besoin.
#3
+1
seanv507
2014-09-16 20:18:00 UTC
view on stackexchange narkive permalink

Excel 2010 et 2013 disposent d'un complément Microsoft gratuit appelé power pivot qui vous permet de travailler avec des millions de lignes. C'est une base de données en colonnes conçue pour créer des tableaux croisés dynamiques, des sous-totaux, etc. et dont l'écart-type est prédéfini. vous pouvez également consulter d'autres requêtes de puissance Microsoft Addins (entrée de données), Power View (visualisation) et Power Map (cartographie)



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...