Forum >> Programmazione Python >> Calcolo scientifico >> Estrarre un valore da numpy.array

Pagina: 1

Ciao a tutti!
Sto cercando di estrarre un valore da un numpy.array ed usarlo per calcoli successivi. Vi faccio un esempio: supponiamo che io voglia estrarre dall'array un valore x=0,25 che però non esiste in questa forma nell'array, ma magari come 0.2500000678. Come posso fare? Siccome poi mi servirebbe anche il corrispondente valore y, mi conviene usare un array numpy? O piuttosto un dataframe di pandas?
Sto cercando di estrarre un valore da un numpy.array ed usarlo per calcoli successivi. Vi faccio un esempio: supponiamo che io voglia estrarre dall'array un valore x=0,25 che però non esiste in questa forma nell'array, ma magari come 0.2500000678. Come posso fare? Siccome poi mi servirebbe anche il corrispondente valore y, mi conviene usare un array numpy? O piuttosto un dataframe di pandas?

Ciao, posta l'array completo e fammi capire in pratica cosa ti interessa estrarre, potrebbe essere semplicissimo farlo.

Cya


Ciao Daniele! grazie delle risposte.
Sto usando Anaconda python3 e come IDE uso JupyterLab.




Allora, l'array di prova in questione è fatto con dati sperimentali di elongazione percentuale :

array_prova = np.array([0.23416833, 0.23619, 0.23805333, 0.24000667, 0.242785, 0.242965, 0.24503167, 0.24690833, 0.24936667, 0.25008, 0.25431833, 0.25458333, 0.25516833, 0.25926333, 0.25989833, 0.26063167, 0.26290667, 0.26456333])

Io per effettuare dei calcoli devo ricavare il valore di elongazione corrispondente al valore teorico del 25 %, ovvero, a livello teorico, devo trovare nell'array il dato x = 0.25. Questo dato però non è presente nell'array come un perfetto 0.25, ma come 0.25008.





ho risolto con una semplice funzione:



def E(array,a,b):
    selected = []
    for index, item in enumerate(array):
        if a <= item <= b:
            selected.append(item)
    return selected
facendo una prova sommaria ottengo:

array_prova = np.array([0.23416833, 0.23619, 0.23805333, 0.24000667, 0.242785, 0.242965, 0.24503167, 0.24690833, 0.24936667, 0.25008, 0.25431833, 0.25458333, 0.25516833, 0.25926333, 0.25989833, 0.26063167, 0.26290667, 0.26456333])

E(array_prova,0.24999,0.25499)

Out : [0.25008, 0.25431833, 0.25458333]


ora aggiustando gli intervalli di ricerca posso affinare meglio il risultato arrivando ad ottenere un solo valore.



--- Ultima modifica di pull_ over93 in data 2018-06-01 11:47:52 ---
Alla fine le soluzioni semplici sono sempre le migliori, oltretutto c'è anche nello zen di Python.

Cya









Pagina: 1



Esegui il login per scrivere una risposta.