假设我有一个numpy数组:
data = np.array([[1,1,1],[2,2,2],[3,3,3]])
Run Code Online (Sandbox Code Playgroud)
我有一个相应的"矢量:"
vector = np.array([1,2,3])
Run Code Online (Sandbox Code Playgroud)
如何对data每行进行减法或除法运算,结果如下:
sub_result = [[0,0,0], [0,0,0], [0,0,0]]
div_result = [[1,1,1], [1,1,1], [1,1,1]]
Run Code Online (Sandbox Code Playgroud)
长话短说:如何使用与每行对应的一维标量数组对2D数组的每一行执行操作?
我想制作一个这样的热图(在FlowingData上显示):

源数据在这里,但随机数据和标签可以使用,即
import numpy
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = numpy.random.rand(4,4)
Run Code Online (Sandbox Code Playgroud)
在matplotlib中制作热图很容易:
from matplotlib import pyplot as plt
heatmap = plt.pcolor(data)
Run Code Online (Sandbox Code Playgroud)
我甚至发现了一个看起来正确的色彩图参数:heatmap = plt.pcolor(data, cmap=matplotlib.cm.Blues)
但除此之外,我无法弄清楚如何显示列和行的标签,并以正确的方向显示数据(原点位于左上角而不是左下角).
试图操纵heatmap.axes(例如heatmap.axes.set_xticklabels = column_labels)都失败了.我在这里错过了什么?
我试图在python中执行元素明智的划分,但如果遇到零,我需要商才为零.
例如:
array1 = np.array([0, 1, 2])
array2 = np.array([0, 1, 1])
array1 / array2 # should be np.array([0, 1, 2])
Run Code Online (Sandbox Code Playgroud)
我总是可以通过我的数据使用for循环,但要真正利用numpy的优化,我需要除法函数在除以零错误时返回0而不是忽略错误.
除非我遗漏了某些内容,否则numpy.seterr()似乎不会在出错时返回值.有没有人有任何其他的建议,我可以如何通过零错误处理设置我自己的鸿沟来获得最好的numpy?
我想知道你是否可以用厘米来指定matplotlib中数字的大小.目前我写道:
def cm2inch(value):
return value/2.54
fig = plt.figure(figsize=(cm2inch(12.8), cm2inch(9.6)))
Run Code Online (Sandbox Code Playgroud)
但是有原生方法吗?
我正在寻找sklearn中的一个模块,它可以让你得到单词 - 共生矩阵.
我可以得到文档术语矩阵,但不知道如何获得共生词的单词 - 矩阵.
是否有一种简单的方法可以将数据框与虚拟对象转换为包含两个方面共同计数的共现矩阵?
例如,从这里开始
X <- data.frame(rbind(c(1,0,1,0), c(0,1,1,0), c(0,1,1,1), c(0,0,1,0)))
X
X1 X2 X3 X4
1 1 0 1 0
2 0 1 1 0
3 0 1 1 1
4 0 0 1 0
Run Code Online (Sandbox Code Playgroud)
对此
X1 X2 X3 X4
X1 0 0 1 0
X2 0 0 2 1
X3 1 2 0 1
X4 0 1 1 0
Run Code Online (Sandbox Code Playgroud) 我使用matplotlib.pyplot.pcolor()来绘制matplotlib的热图:

import numpy as np
import matplotlib.pyplot as plt
def heatmap(data, title, xlabel, ylabel):
plt.figure()
plt.title(title)
plt.xlabel(xlabel)
plt.ylabel(ylabel)
c = plt.pcolor(data, edgecolors='k', linewidths=4, cmap='RdBu', vmin=0.0, vmax=1.0)
plt.colorbar(c)
def main():
title = "ROC's AUC"
xlabel= "Timeshift"
ylabel="Scales"
data = np.random.rand(8,12)
heatmap(data, title, xlabel, ylabel)
plt.show()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
有没有办法在每个单元格中添加相应的值,例如:
(来自Matlab的可定制热图)

(%我现在的申请不需要额外的,但我很想知道未来)
我有一个像这样的数据帧:
ID | Node 1 | Node 2 | Node 3
a | 1 | 0 | 1
b | 0 | 1 | 1
c | 1 | 0 | 0
d | 1 | 1 | 1
e | 0 | 1 | 1
Run Code Online (Sandbox Code Playgroud)
我想更改它,以便我可以将其转换为网络图表,其中节点之间的连接是指示两者的ID的次数:
Node A | Node B | Weight |
Node 1 | Node 2 | 1 |
Node 1 | Node 3 | 2 |
Node 2 | Node 3 | 3 |
Run Code Online (Sandbox Code Playgroud)