Domanda:
Quale sarebbe un buon modo per lavorare con un set di dati di grandi dimensioni in Excel?
Furlong
2011-05-26 02:32:14 UTC
view on stackexchange narkive permalink

Ho un ampio set di dati che è in formato .dbf in questo momento e quello che vorrei fare è essere in grado di manipolarlo facilmente in Excel e fare qualcosa come il subtotale e calcolare stdev e rapporti.

Dettagli del set di dati; Questo set di dati contiene le informazioni sull'acquirente. Ha 1,2 milioni di righe e 20 colonne in cui le righe sono ciascuna un acquirente unico e le colonne contengono i dati di acquisto (ciò che hanno acquistato).

Sto usando i programmi di Office 2007, conosco Excel il migliore ma è stato chiedendomi quali alternative potrei usare per raggiungere i miei obiettivi (subtotale, calcolo stdev e rapporto).

Per quanto ne so, Excel 2007 ti consente solo di avere 1 milione di righe circa (una rapida ricerca su Google restituisce un massimo di 1.048.576 righe in Excel 2007). Direi che la soluzione migliore è utilizzare un programma di database, come SQL o Access. Ci sono semplici query di database che ti daranno quello che vuoi (subtotali, SD, ecc.). Inoltre, non ci ho davvero lavorato da solo, ma sono sicuro che puoi accedere ai set di dati da Access utilizzando Excel. Onestamente, però, userei solo R, e per quello che stai cercando di calcolare, non ci vuole molto per imparare alcune semplici funzioni :)
Grazie per il suggerimento su R, conosci qualche risorsa online che potrebbe farmi funzionare abbastanza rapidamente? Ho una certa esperienza di programmazione in Python.
@Furlong: Puoi scaricare R gratuitamente [qui] (http://www.r-project.org/). Ci sono molte guide per iniziare con R disponibili online. Ecco [uno per principianti] (http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf) che ho trovato su google. Dato che hai esperienza in un linguaggio di programmazione, dovresti stare bene con l'idea dell'assegnazione di variabili. Dovresti concentrarti sulla lettura dei file in R e imparare a usare le funzioni (come sum (), mean (), sd (), ecc.
Se il tuo file originale è nel formato Access, puoi calcolare ciò di cui hai bisogno con l'aiuto di quaderni e / o moduli Visual Basic.
Se conosci già Python, questa operazione è banale e non è necessario scaricare R. C'è il pacchetto dbfpy per leggere direttamente i file dbf, xlrd per leggere i file Excel e numpy ha le statistiche di riepilogo.
@Josh, xlrd funziona solo con xls, Excel 2007 utilizza xlsx. Puoi convertire ma potrebbe diventare noioso. E probabilmente xlwt sarà più necessario qui per scrivere su file Excel, non per leggere.
@mpiktas - Hai ragione; grazie per la correzione! Anch'io dovrei saperlo meglio. Ho letto file Excel 2007 con win32com e poi ci sono i pacchetti openpyxl e pyxlsx. Questo blog mostra un sacco di cose che puoi fare per leggere / scrivere a livello di codice file Excel da Python (ad esempio, scrivere a livello di codice tabelle pivot): http://www.pythonexcels.com/
Tre risposte:
#1
+14
b_dev
2011-05-26 03:39:08 UTC
view on stackexchange narkive permalink

Se ritieni di poter avviare più di questi progetti di tipo Excel di grandi dimensioni in futuro, dovresti considerare l'installazione e dedicare 10 ore all'apprendimento delle basi di R (gratuito), che ti consentirà di fare ciò che hai menzionato nella tua domanda , in un modo molto più efficiente di Excel.
R per principianti PDF

Puoi porre domande su R su StackOverflow e qui.

"in un modo molto più efficiente di Excel", immagino :)
Buona pesca. L'ho appena modificato.
Anche qui si possono porre domande su R :)
#2
+10
Henrik
2011-05-26 18:55:58 UTC
view on stackexchange narkive permalink

Anche se consiglierei sempre di usare R, potresti comunque ottenere ciò che desideri con python.

Esiste almeno un pacchetto per leggere i file dbf.

Inoltre, scipy offre una vasta gamma di funzioni per l'analisi statistica. Ad esempio, la libreria ScientifyPython probabilmente contiene le funzioni di cui hai bisogno.

L'idea migliore è controllare scipy.org. Lì troverai quello che vuoi.

(Ma imparare R è un'ottima idea !!)

+1 per aver dato indicazioni a qualcuno in una lingua che già conosce. Nota che numpy ha tutte le funzionalità di cui l'OP ha descritto la necessità.
#3
+1
seanv507
2014-09-16 20:18:00 UTC
view on stackexchange narkive permalink

Excel 2010 e 2013 hanno un addin microsoft gratuito chiamato power pivot che ti consente di lavorare con milioni di righe. È un database a colonne progettato per creare tabelle pivot, totali parziali, ecc. E ha una deviazione standard predefinita, ecc. potresti anche esaminare altri componenti aggiuntivi di microsoft power query (input dati), power view (visualizzazione) e power map (mapping)



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...