freq_allというデータフレームから、knowの行の値(1または0が格納されている)が1かつknowcluster_idの行(0,1,2のどれかの値が格納されている)の値毎に、freq_know01(knowcluster_id==0)、freq_know02(knowcluster_id==1)、freq_know03(knowcluster_id==2)という3つのデータフレームに格納しなおしたい。
その後、3つのデータフレーム毎に、SapmleIdの行を削除し、相関係数を求め、ヒートマップの作成まで行いたい。
3つのデータフレーム毎にプログラムを書くと長くなってしまうため、for文を用いて行いたい。
しかし、データフレームの名前と中身を区別して書くことが出来ず、相関行列も上手く表示されないため、今回質問させていただきました。
Python
1import matplotlib.pyplot as plt 2clu=0 3for clu in range(3): 4 i = [] 5 i = ("freq_know")+str(clu+1) 6 i = freq_all[(freq_all.know==1)&(freq_all.knowcluster_id==clu)] 7 j = i.drop("SampleID",axis=1) 8 k = i.corr() 9 print(k) 10 k.style.background_gradient(cmap="bwr",vmin=-1,vmax=1,axis=None) 11 plt.savefig("a.png")
回答1件
あなたの回答
tips
プレビュー