我有一个形状的熊猫数据帧(39,67).当我绘制seaborn
热图时,我没有在X和Y轴上获得那么多标签..get_xticklabels()
方法也只返回23个标签.
matplotlib
不显示任何标签(仅限数字).
这两个热图都是针对相同的数据帧(39,67).
有问题的部分是:
self.H = np.multiply(self.H, np.divide(np.matmul(preprocessing.normalize(self.W).T, np.multiply(self.X, np.power(self.A, self.beta - 2)))), np.matmul(self.W.T, np.power(self.A, self.beta - 1)) + self.sparsity)
Run Code Online (Sandbox Code Playgroud)
A,W,H是熊猫数据帧。Beta和稀疏性是整数。
它们的初始化是:
self.W = pd.DataFrame(np.random.randint(100,size=(self.X.shape[0], self.K)))
self.H = pd.DataFrame(np.random.randint(0,100,size=(self.K, self.X.shape[1])))
self.W = preprocessing.normalize(self.W)
self.A = self.W.dot(self.H)
Run Code Online (Sandbox Code Playgroud) 让字符串成为"AAAGQWERTYUIOPAGCTHJKLAAAGZXCVBNMAGCT"
.我想找到AAAG和AGCT之间的字符串.
我想输出["QWERTYUIOP","ZXCVBNM"]
,即字符串列表.
我如何使用正则表达式或类似的技术来做到这一点?
我试过这个
def find_distances_between_motifs(positions1, positions2, motif_length1):
diff1 = []
diff2 = []
pos2 = 0
flag = 0
for pos1 in range(len(positions1)):
if pos2 >= len(positions2):
break
if flag == 1:
flag = 0
pos1 -= 1
if positions2[pos2] - positions1[pos1] > 30:
diff1.append(NaN)
diff2.append(NaN)
continue
elif positions2[pos2] - positions1[pos1] < 1:
pos2 += 1
diff2.append(NaN)
flag = 1
elif pos1 < len(positions1) - 1 and positions1[pos1+1] > positions2[pos2]:
diff1.append(positions[pos2] - positions[pos1] - motif_length1) …
Run Code Online (Sandbox Code Playgroud)