Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.python > #7752
| From | dan258 <dan@258.boh> |
|---|---|
| Newsgroups | it.comp.lang.python |
| Subject | minimi relativi in dataframe |
| Date | 2020-03-17 11:32 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <r4q90q$1c81$1@gioia.aioe.org> (permalink) |
Ciao a tutti, vedo che il gruppo e' "poco" frequentato ma lascio lo
stesso il mio messaggio in bottiglia, magari leggero' la risposta quando
saro' all'ospizio e moriro' felice :-).
Tornando seri, essendo alle prime armi ho un problema che non riesco a
risolvere con i dataframe.
Faccio un esempio
------------------------------------------------
from pandas import DataFrame
data = DataFrame({'a':[2.3, 1.9, 3.5, 2.8, 3.1, 2.7, 3.3]})
mask = (data['a'].shift(1) > data['a']) & (data['a'].shift(-1) > data['a'])
data['b'] = data.loc[mask,'a']
data['b'] = data['b'].shift(1)
data = data.fillna(method='ffill')
data['c'] = data['a']-data['b']
print data
--------------------------------------------------
da cui si ricava questo dataframe
a b c
0 2.3 NaN NaN
1 1.9 NaN NaN
2 3.5 1.9 1.6
3 2.8 1.9 0.9
4 3.1 2.8 0.3
5 2.7 2.8 -0.1
6 3.3 2.7 0.6
In a abbiamo una serie di valori
In b vengono creati dei minimi relativi di quei valori
In c faccio un controllo, e ho bisogno che nella colonna non ci siano
valori negativi, quindi, per ogni riga, a deve essere maggiore di b.
Nella riga 5 non accade e per correggere dovrei scorrere indietro (mai
avanti) la colonna b finche' non trovo il primo valore di b minore di 2.7
In questo caso sarebbe 1.9
dovrei ottenere qualcosa del genere
a b c
0 2.3 NaN NaN
1 1.9 NaN NaN
2 3.5 1.9 1.6
3 2.8 1.9 0.9
4 3.1 2.8 0.3
5 2.7 1.9 0.8
6 3.3 2.7 0.6
pensavo di usare expanding ma mi manca qualche tassello
come si puo' fare senza iterare che ci mette una vita?
Back to it.comp.lang.python | Previous | Next — Next in thread | Find similar
minimi relativi in dataframe dan258 <dan@258.boh> - 2020-03-17 11:32 +0100
Re: minimi relativi in dataframe jak <nospam@please.ty> - 2020-03-18 11:46 +0100
Re: minimi relativi in dataframe dan258 <dan@258.boh> - 2020-03-18 14:28 +0100
Re: minimi relativi in dataframe jak <nospam@please.ty> - 2020-03-18 16:15 +0100
Re: minimi relativi in dataframe dan258 <dan@258.boh> - 2020-03-18 22:29 +0100
Re: minimi relativi in dataframe jak <nospam@please.ty> - 2020-03-20 19:31 +0100
Re: minimi relativi in dataframe dan258 <dan@258.boh> - 2020-03-22 09:47 +0100
Re: minimi relativi in dataframe jak <nospam@please.ty> - 2020-03-22 11:21 +0100
Re: minimi relativi in dataframe dan258 <dan@258.boh> - 2020-03-22 12:22 +0100
Re: minimi relativi in dataframe huhher <elia.toselli@outlook.it> - 2020-08-09 20:17 +0200
csiph-web