Pitone: Scrittura valori in pandi da un fotogramma all'altro lavoro Indifferente

voti
1

ho una dataframe dove ho più righe appartenenti allo stesso gruppo. Ora voglio aggiungere una linea per ogni gruppo per un nuovo dataframe con il valore mediano di ogni colonna del vecchio. Pertanto ho codificato il seguente: andare a ogni riga della DF e ricerca se il nome del gruppo è stato già elaborato. Se non voglio scrivere la mediana nella nuova DF `

for i in df2.index:
    prot=str(df2.loc[i, 'Proteins'])


    if prot in c:
        pass

    else:

        c.append(prot)
        temp=df2[df2['Proteins'].apply(lambda x: x == prot)]
        df3.loc[i, 'Gene Names']=temp.loc[i, 'Gene Names']
        df3.loc[i, 'Proteins']=temp.loc[i, 'Proteins']
        df3.loc[i, 'Median 0']=temp['H/L 0'].median()
        df3.loc[i, 'Median 1']=temp['H/L 1'].median()
        df3.loc[i, 'Median 2']=temp['H/L 2'].median()
        df3.loc[i, 'Median 3']=temp['H/L 3'].median()
        df3.loc[i, 'Median 4']=temp['H/L 4'].median()
        df3.loc[i, 'Median 5']=temp['H/L 5'].median()
        df3.loc[i, 'Median 6']=temp['H/L 6'].median()
        df3.loc[i, 'Median 7']=temp['H/L 7'].median()
        df3.loc[i, 'Median 8']=temp['H/L 8'].median()
        df3.loc[i, 'Median 9']=temp['H/L 9'].median() `

frame di dati è simile al seguente:

    ABCD
    XX 2 2 2
    Y 4 4 4
    YX 2 2 2
    XX 2 3 2

Ora dovrebbe crollare nella nuova cornice di dati:

    ABCD
    XX 2 2.5 2
    Y 4 4 4
    YX 2 2 2
 

Ma se faccio questo: solleva il mio errore:

KeyError: 'the label [2311] is not in the [index]'

Ho pensato che creare l'indice assegnando con df3.loc[i, 'column']=XXX Grazie per qualsiasi consiglio.

È pubblicato 10/11/2017 alle 08:33
dall'utente
In altre lingue...                            


1 risposte

voti
4

Sei si tenta di raggiungere groupby?

df.groupby('A').median()
     BCD
UN                
XX 2.0 2.5 2.0
Y 4.0 4.0 4.0
YX 2.0 2.0 2.0
Risposto il 10/11/2017 a 08:40
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more