Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.python > #7753
| Path | csiph.com!aioe.org!.POSTED.nP9ZZnVmsJfio7Iw3p6b8g.user.gioia.aioe.org!not-for-mail |
|---|---|
| From | jak <nospam@please.ty> |
| Newsgroups | it.comp.lang.python |
| Subject | Re: minimi relativi in dataframe |
| Date | Wed, 18 Mar 2020 11:46:45 +0100 |
| Organization | Aioe.org NNTP Server |
| Lines | 63 |
| Message-ID | <r4su6k$1gic$1@gioia.aioe.org> (permalink) |
| References | <r4q90q$1c81$1@gioia.aioe.org> |
| NNTP-Posting-Host | nP9ZZnVmsJfio7Iw3p6b8g.user.gioia.aioe.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=iso-8859-15; format=flowed |
| Content-Transfer-Encoding | 8bit |
| X-Complaints-To | abuse@aioe.org |
| User-Agent | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
| X-Notice | Filtered by postfilter v. 0.9.2 |
| Content-Language | it |
| Xref | csiph.com it.comp.lang.python:7753 |
Show key headers only | View raw
Il 17/03/2020 11:32, dan258 ha scritto:
> 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?
Ciao,
se sono riuscito a capire l'esempio, dovresti poter ridurre
significativamente le iterazioni considerando il fatto che se il valore
per la colonna B di un dato A non è quello adiacente a sinistra, lo
dovrebbe essere il primo già trovato per la colonna B minore dell'A
corrente.
Back to it.comp.lang.python | Previous | Next — Previous in thread | 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