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


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

minimi relativi in dataframe

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)

Show all headers | View raw


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 | NextNext 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