Re: [Python] Hammer projection map
Si lo so che la libreria è matplotlib ma non riuscivo a trovare nulla di specifico riguardo questo tipo di plot. Cmq i tuo link mi sembrano utili. Grazie mille Il giorno 27 aprile 2017 15:20, Davide Olianas <dav...@davideolianas.com> ha scritto: > Il 27/04/2017 15:03, Francesca Senatore ha scritto: > >> Avete qualche referenza da passarmi riguardo a questo argomento. >> >> > Ciao, nel mondo python la libreria di riferimento per disegnare grafici è > matplotlib. Non ho mai provato a fare quello che ti serve ma penso che i > seguenti link ti possano aiutare > > https://matplotlib.org/basemap/users/examples.html > > http://matplotlib.org/basemap/api/basemap_api.html#module-mp > l_toolkits.basemap > > http://balbuceosastropy.blogspot.it/2013/09/the-mollweide-projection.html > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Hammer projection map
Ciao Ragazzi, avrei bisogno di aiuto! Voglio creare una mappa a tutto cielo (hammer projection map) da riempire con una color-grid di un profilo di densità che ho ricavato da alcune osservazioni. Per essere più chiara vorrei riprodurre una cosa di questo genere : https://imagine.gsfc.nasa.gov/news/02dec96.html In questo link c'è l'immagine della prima mappa a tutto cielo di Rosat. Avete qualche referenza da passarmi riguardo a questo argomento. Grazie mille Ciao ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] np.random aiuto!!!
Ciao ragazzi, vi ringrazio per i vostri consigli. Scusate se rispondo solo ora ma causa influenza sono costretta a letto. Avete ragione! Non credo di essermi spiegata molto bene. Cerco di spiegarmi meglio dicendovi cosa esattamente devo fare. Io voglio simulare una distribuzione di exposures (a e b sono secondi di osservazione da 5.6e3 a 2.5e6 secondi). La distribuzione che devo simulare è fatta in questo modo: l' 88.5% delle exposures cade nell'intervallo [2.5e6,1e5] il 9.5% delle exposure cade nell'intervallo [1e5,2.5e4] 0.7% delle exposures cade nell'intervallo [2.5e4,1.1e4] 1.4% delle exposures cade nell'intervallo [1.1e4,6.3e3] Sulla base di questo, la cosa più giusta da fare mi è sembrata quella di generare numeri random seguendo questa distribuzone di probabilità. np.random.choice fa una cosa di questo genere ma non so come applicarla ai miei intervalli. Se io considero il vettore [1,2,3,4] e associo le mie probabilità ottengo l'88.5% delle volte 1, 9.5% delle volte 2 eccc. Questo è ciò che fa choice!!! Io invece voglio che l' 88.5% delle volte vengano generati numeri nel primo intervallo, il 9.5% delle volte nel secondo intervallo, e così via. Credo che devo usare un diverso approccio. Il tutto è complicato dal fatto che non sono una cima in programmazione e in python. Spero di essere stata più chiara ora. Ovviamente se avete delle dritte da darmi sono bene accette. Ciao e grazie ancora. Fra Il giorno 30 aprile 2016 15:46, Stefano Dal Praha scritto: > Se ho capito vuoi estrarre dei valori "vals" con le probabilita' "probs". > Io ho provato cosi': > > import random > > #vale: sum(probs) == 1.0 > probs = [0.88514, 0.0946, 0.006757, 0.01351] > vals = range(len(probs)) > t = zip(probs,vals) > > def myrnd(): > cs,x = 0,random.random() > for k,v in t: > cs += k > if x <= cs : return v > return v > > E myrnd ti restituisce 0 con probabilita' 0.88514, > 1con prob. 0.0946 eccetera. > > Per verificare se piu' o meno ci siamo facciamo un milione di prove > e vediamo le le frequenze sono in linea con le probabilita': > > #Test: > dt = dict(zip(vals,[0 for x in vals])) > N = 100 > for n in range(N): > k = myrnd() > dt[k] += 1 > > for k,v in dt.items(): > print k,(v+0.0)/N > > e a me da > 0 0.884842 > 1 0.094789 > 2 0.006818 > 3 0.013551 > > Se confronti con > probs = [0.88514, 0.0946, 0.006757, 0.01351] > > direi che ci siamo. > Stefano > > 2016-04-30 13:59 GMT+02:00 Christian Barra : > >> A me pare che lei abbia una serie di eventi con probabilità note (il suo >> vettore) e gli interessa generare numeri secondo quella distribuzione di >> probabilità, in pratica generare sample da una funzione di probabilità che >> ha definito lei. >> >> Credo che il link faccia al caso suo. >> >> ___ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/mailman/listinfo/python >> >> > > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > > ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] np.random aiuto!!!
Grazie mille, ora guardo i link che mi avete inoltrato. Ciao Fra Il giorno 29 aprile 2016 10:01, Leonardo M. Millefioriha scritto: > Ciao, > Se ho capito bene il tuo problema (generare campioni random in accordo ad > una custom pdf discreta), la soluzione piu` diretta mi sembra quella di > utilizzare scipy.stats.rv_discrete [1]. > Mi sa che l'esempio in [1] faccia proprio al caso tuo. > > [1] > http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rv_discrete.html > > Ciao, > L > > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > > ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] np.random aiuto!!!
Ciao a tutti. Avrei bisogno di un aiuto. Spero che qualcuno di voi possa aiutarmi. Vi spiego il mio problema: Ho un array di probabilita' di elementi, cioe' [0.88514, 0.0946, 0.006757, 0.01351]. Io voglio estrarre elementi random proporzionali alla loro probabilita', il primo elemento circa l'89% delle volte, il secondo circa il 10% delle volte eccc. Cio' che ho fatto e' questo: from numpy as np for num in range(300): a = 5.6e3 b = 2.5e6 probs = [0.88514, 0.0946, 0.006757, 0.01351] cutoffs = np.cumsum(probs) temp = (b-a)*rand.uniform(0, cutoffs[-1])+a In pratica ho calcolato la somma cumulativa delle probabilita' e poi ho calcolato la distribuzione random (in maniera uniforme) da zero (cioe' da a) fino al cutoffs (1). Il risultato che ottengo non e' esattamente quello che speravo, nel senso che non estrae esattamente numeri random sulla base delle probabilita' che gli do in input. Che cosa sto sbagliando? Qualcuno di voi puo' aiutarmi? Esiste un'altra funzione che mi permette di estrarre numeri random nell'intervallo a,b tenendo in considerazione l'array di probabilita' che do in input? Grazie mille per l'aiuto e scusate la poca competenza ma uso da poco python e non sono molto brava. Francesca ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] np.random aiuto!!!!
Ciao a tutti. Avrei bisogno di un aiuto. Spero che qualcuno di voi possa aiutarmi. Vi spiego il mio problema: Ho un array di probabilita' di elementi, cioe' [0.88514, 0.0946, 0.006757, 0.01351]. Io voglio estrarre elementi random proporzionali alla loro probabilita', il primo elemento circa l'89% delle volte, il secondo circa il 10% delle volte eccc. Cio' che ho fatto e' questo: from numpy as np for num in range(300): a = 5.6e3 b = 2.5e6 probs = [0.88514, 0.0946, 0.006757, 0.01351] cutoffs = np.cumsum(probs) temp = (b-a)*rand.uniform(0, cutoffs[-1])+a In pratica ho calcolato la somma cumulativa delle probabilita' e poi ho calcolato la distribuzione random (in maniera uniforme) da zero (cioe' da a) fino al cutoffs (1). Il risultato che ottengo non e' esattamente quello che speravo, nel senso che non estrae esattamente numeri random sulla base delle probabilita' che gli do in input. Che cosa sto sbagliando? Qualcuno di voi puo' aiutarmi? Esiste un'altra funzione che mi permette di estrarre numeri random nell'intervallo a,b tenendo in considerazione l'array di probabilita' che do in input? Grazie mille per l'aiuto e scusate la poca competenza ma uso da poco python e non sono molto brava. Francesca ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Test statistici
Ciao Mauro, si ho scaricato anche questo pacchetto ma il mio problema è sempre quello non riesco a capire come indicare che determinati valori sono censored data, altri errori e altri ancora valori effettivi. Tu riesci a mandarmi una referenza o un link dove mi spiega queste cose? Grazie mille Francesca Date: Sun, 12 Oct 2014 23:17:21 +0200 From: alberti@gmail.com To: python@lists.python.it Subject: Re: [Python] Test statistici 2014-10-10 22:18 GMT+02:00 francesca senatore francesca.senat...@hotmail.it: Ho specificato all'inizio della mail che sono alle prime armi. Ho iniziato da poco il dottorato in Astrofisica Cosmologia e non conosco tutti i linguaggi di programmazione. Durante la tesi di laurea non impari proprio tanto. Ciao Francesca, hai preso in considerazione R, che è il linguaggio statistico open-source più completo ed usato in accademia, e che volendo è anche interfacciabile con Python tramite rpy2? Per analisi statistiche è ottimo e fornisce tutte le possibili tecniche statistiche, credo ben più di Python.. mauro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Test statistici
Ciao a tutti, sono da poco (e per poco intendo veramente poco) nel mondo python. Sono alle prime armi e non me ne volete se non sono molto preparata. Al momento ho la necessità di eseguire dei test statistici (Kolmogorov-Smirnov test, Two Sample Tests, fit ai minimi quadrati) che erano inclusi in ASURV(analysis survival). Ho visto che python include questo pacchetto statistico. Il mio problema non sono tanto le routine in se per se (che mi sembrano facili) ma l'inserimento dati. I miei dati includono i famosi censored data (upper e lower limits) ed errori sulle misure. Io vorrei includere anche questi valori quando faccio correre questi test. Per essere più chiara mi scrivo un esempio (con dati a caso): Ho due vettori di dati: x=1, 2, 3, 4, 5, 6, 7 y=5, 4, 7, 8, 9, 11, 12 Ciò che voglio vedere è se c'è una correlazione lineare tra questi due set di dati. Ciò che faccio è una cosa di questo genere: from scipy import stats import numpy as np x=1, 2, 3, 4, 5, 6, 7 y=5, 4, 7, 8, 9, 11, 12 slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) Questa routine mi calcola il fit dandomi tutti i parametri che mi servono. Nei miei set di dati ci sono upper limit, cioè non detection (i famosi censored data), che voglio tenere in considerazione nel fit. In aggiunta ho un altro set di dati che riguardano gli errori sulle y. Io voglio includere anche questi parametri ma non so come fare. Io usavo ASURV per fare cose di questo genere tenendo in considerazione gli upper oppure i lower limits e in questo caso indicavo le detection (i valori effettivamente calcolati) con 0 e con 1 le nondetection (upper limit). Cioè generavo un file con tre colonne dove la prima colonna indicava il tipo di valore. Con python ho visto che questo è possibile perchè include molti metodi statistici di ASURV ma non riesco a capire come inserire questi valori. Spero di essere stata chiara. Se qualcuno di voi ha competenze di questo genere e sa come far girare queste routine in python includendo censored data e errori sulle misure può aiutarmi? Grazie mille Chicca___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Test statistici
Ciao Valerio, grazie per la tua risposta. Che intendi? ASURV? Che roba è? Io ho trovato questo: http://python-asurv.sourceforge.netÈ lui? In ogni caso guardando mi pare di capire che si tratta di un software per dati astronimici/astro fisici[1]. Corretto? Nel caso il tuo dominio fosse quello, ti segnalo questi due progetti: **AstroPy**: http://www.astropy.org**AstroML**: http://www.astroml.org Sono ben documentati e molto supportati dalla comunità… certamente meglio di quel porting indicato poco prima.. anyway.. Si è lui. effettiva run, in inglese, significa correre… :D (kiddin') So come si dice in inglese! La prossima volta sarò più precisa! :D from scipy import stats import numpy as np x=1, 2, 3, 4, 5, 6, 7 y=5, 4, 7, 8, 9, 11, 12 vabeh, diciamo che questo non è esattamente codice Python.. :P Ho specificato all'inizio della mail che sono alle prime armi. Ho iniziato da poco il dottorato in Astrofisica Cosmologia e non conosco tutti i linguaggi di programmazione. Durante la tesi di laurea non impari proprio tanto. In ogni caso, penso che questo possa esserti utile: https://www.wakari.io/nb/pybokeh/Weibull_Analysis#part2Credo sia proprio un esempio di analisi che si avvicina a ciò che intendi fare… In generale, poi, ti segnalo anche `statsmodel`: https://github.com/statsmodels/statsmodels Oltre ad estendere le funzionalità di `scipy.stats`, dovrebbe già contenere dei metodi per l'analisi con *suspended* data... Grazie mille. Spero che possano aiutarmi Ciao Chicca From: valerio.mag...@gmail.com Date: Fri, 10 Oct 2014 20:07:22 +0200 To: python@lists.python.it Subject: Re: [Python] Test statistici francesca senatore wrote:Ciao a tutti, sono da poco (e per poco intendo veramente poco) nel mondo python. Sono alle prime armi e non me ne volete se non sono molto preparata. Ciao Francesca, benvenuta! :) Al momento ho la necessità di eseguire dei test statistici (Kolmogorov-Smirnov test, Two Sample Tests, fit ai minimi quadrati) che erano inclusi in ASURV(analysis survival). Ho visto che python include questo pacchetto statistico. Che intendi? ASURV? Che roba è? Io ho trovato questo: http://python-asurv.sourceforge.netÈ lui? In ogni caso guardando mi pare di capire che si tratta di un software per dati astronimici/astro fisici[1]. Corretto? Nel caso il tuo dominio fosse quello, ti segnalo questi due progetti: **AstroPy**: http://www.astropy.org**AstroML**: http://www.astroml.org Sono ben documentati e molto supportati dalla comunità… certamente meglio di quel porting indicato poco prima.. anyway.. ——[1]: http://www.astrostatistics.psu.edu/statcodes/ Il mio problema non sono tanto le routine in se per se (che mi sembrano facili) ma l'inserimento dati. I miei dati includono i famosi censored data (upper e lower limits) ed errori sulle misure. Io vorrei includere anche questi valori ok, il tuo problema è chiaro (a parte che non capisco perché vuoi includere i censored data nel calcolo del fitting.. ma tant'è…. del resto, non hai specificato il dominio.. :P) quando faccio correre questi test. effettiva run, in inglese, significa correre… :D (kiddin') from scipy import stats import numpy as np x=1, 2, 3, 4, 5, 6, 7 y=5, 4, 7, 8, 9, 11, 12 vabeh, diciamo che questo non è esattamente codice Python.. :P slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) Questa routine mi calcola il fit dandomi tutti i parametri che mi servono. Nei miei set di dati ci sono upper limit, cioè non detection (i famosi censored data), che voglio tenere in considerazione nel fit. In aggiunta ho un altro set di dati che riguardano gli errori sulle y. Io voglio includere anche questi parametri ma non so come fare. Io usavo ASURV per fare cose di questo genere tenendo in considerazione gli upper oppure i lower limits e in questo caso indicavo le detection (i valori effettivamente calcolati) con 0 e con 1 le nondetection (upper limit). Cioè generavo un file con tre colonne dove la prima colonna indicava il tipo di valore. Con python ho visto che questo è possibile perchè include molti metodi statistici di ASURV ma non riesco a capire come inserire questi valori. Io però a questo punto non ho capito quale sia **veramente** il tuo problema.. In ogni caso, penso che questo possa esserti utile: https://www.wakari.io/nb/pybokeh/Weibull_Analysis#part2Credo sia proprio un esempio di analisi che si avvicina a ciò che intendi fare… In generale, poi, ti segnalo anche `statsmodel`: https://github.com/statsmodels/statsmodels Oltre ad estendere le funzionalità di `scipy.stats`, dovrebbe già contenere dei metodi per l'analisi con *suspended* data... HTHValerio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python