Sto lavorando con un set di dati biologico di grandi dimensioni.Calcolo della correlazione a coppie tra tutte le colonne
Desidero calcolare PCC (coefficiente di correlazione di Pearson) di tutte le combinazioni di 2 colonne nella tabella dei dati e salvare il risultato come file DataFrame o CSV.
La tabella dei dati è la seguente: le colonne sono il nome dei geni e le righe sono il codice del set di dati. I numeri float indicano quanto il gene è attivato nel set di dati.
GeneA GeneB GeneC ...
DataA 1.5 2.5 3.5 ...
DataB 5.5 6.5 7.5 ...
DataC 8.5 8.5 8.5 ...
...
come uscita, voglio costruire il tavolo (dataframe o CSV) come qui di seguito, a causa scipy.stats.pearsonr funzione restituisce (PCC, p-value). Nel mio esempio, XX e YY indicano i risultati di pearsonr ([1.5, 5.5, 8.5], [2.5, 6.5, 8.5]). Allo stesso modo, ZZ e AA significano il risultato di pearsonr ([1.5, 5.5, 8.5], [3.5, 7.5, 8.5]). Non ho bisogno dei dati ridondanti come GeneB_GeneA o GeneC_GeneB nel mio test.
PCC P-value
GeneA_GeneB XX YY
GeneA_GeneC ZZ AA
GeneB_GeneC BB CC
...
Poiché il numero di colonne e righe sono molti (oltre 100) ei loro nomi sono complicate, utilizzando i nomi di colonna o nomi di riga sarà difficile.
Potrebbe essere un semplice problema per gli esperti, non so come affrontare questo tipo di tabella con la libreria Python e Panda. Soprattutto creare nuovi DataFrame e aggiungere risultati sembra essere molto difficile.
Scusa per la mia scarsa spiegazione, ma spero che qualcuno possa aiutarmi.
Questa risposta è qui: [collegamento] (http://stackoverflow.com/questions/3949226/calculating-pearson-correlation-and-significance-in-python) – Glostas
Grazie per il tuo commento. Penso che il titolo non fosse abbastanza buono. Quello che voglio sapere non è come calcolare PCC, ma calcolare il PCC di tutte le coppie di colonne e salvare i risultati come un nuovo DataFrame. – z991