Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.python > #7770

Re: minimi relativi in dataframe

From huhher <elia.toselli@outlook.it>
Newsgroups it.comp.lang.python
Subject Re: minimi relativi in dataframe
Date 2020-08-09 20:17 +0200
Organization Aioe.org NNTP Server
Message-ID <20200809201738.496cfb67@camillo-sparky> (permalink)
References <r4q90q$1c81$1@gioia.aioe.org>

Show all headers | View raw


Il giorno Tue, 17 Mar 2020 11:32:59 +0100
dan258 <dan@258.boh> 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?

perchè ti fasci la testa x un problema del genere?
sto prg è inutile!

scrivilo senza dataframe!!
Ake ti serve sto codice??
Fai qualcosa di +utile.

Usa Flask o altro.

Back to it.comp.lang.python | Previous | NextPrevious in thread | Find similar


Thread

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