Verilerimden (kimyasallar ve proteinler arasındaki puanlar) python pandalarıyla bir veri çerçevesi oluşturmaya çalışıyorum.Python'daki (pandalar) bir sütundaki bir aralıktaki veri yığınları nasıl sıralanır
Veritabanımın önce en çok gerçekleşen proteinleri görüntülemesini istiyorum, bu nedenle daha önce verilerimi sıraladım. Ancak veri çerçevesini oluşturduğumda beklenen sonucu almaz.
İşte benim verilerin bir örneği verilmiştir:
chemicals prots scores
CID000000006 10116.ENSRNOP00000003921 196
CID000000051 10116.ENSRNOP00000003921 246
CID000000085 10116.ENSRNOP00000003921 196
CID000000119 10116.ENSRNOP00000003921 247
CID000000134 10116.ENSRNOP00000008952 159
CID000000135 10116.ENSRNOP00000008952 157
CID000000174 10116.ENSRNOP00000008952 439
CID000000175 10116.ENSRNOP00000001021 858
CID000000177 10116.ENSRNOP00000004027 760
siz "10116.ENSRNOP00000003921" Benim verilerindeki en gerçekleşen olaylara ile proteindir görebileceğiniz gibi.
Yani ben böyle bir şey almak istiyorum:
10116.ENSRNOP00000003921 10116.ENSRNOP00000008952
CID000000006 196
CID000000051 246
CID000000085 196
CID000000119 247
CID000000134 159
CID000000135 157
CID000000174 439
Ve İşte benim kod:
import pandas as pd
df_rat= pd.read_csv("dt_matrix_rat.csv",sep="\t", header=True)
df_rat.columns = ['chemicals','proteins','scores']
df_rat1 = df_rat.pivot(index='chemicals', columns='proteins', values='scores')
df_rat1.to_csv("rat_matrix.csv", sep='\t', index=True )
Sen olay sayısını almak için 'collections.Counter.most_common()' kullanabilirsiniz, ancak zaten bu var gibi görünüyor ... pivot tablo gibi görünüyor bir tür dinlenme: https://en.wikipedia.org/wiki/Pivot_table – Swier
Veriler zaten proteinler olaylar tarafından sıralanır, sadece aldığım matris sonuçta doğru sırada sonuç göstermez –
@ELWalou, sütun veya satırların yanlış sırasını mı kastediyorsunuz? – MaxU