相关疑难解决方法(0)

Numpy:用向量元素划分每一行

假设我有一个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数组的每一行执行操作?

python arrays numpy scipy

102
推荐指数
4
解决办法
7万
查看次数

在matplotlib中使用pcolor进行热图?

我想制作一个这样的热图(在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 data-visualization matplotlib heatmap

100
推荐指数
3
解决办法
11万
查看次数

NumPy:除以0,除以零

我试图在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?

python arrays error-handling numpy divide-by-zero

83
推荐指数
5
解决办法
6万
查看次数

在matplotlib中指定以厘米为单位的图形尺寸

我想知道你是否可以用厘米来指定matplotlib中数字的大小.目前我写道:

def cm2inch(value):
    return value/2.54

fig = plt.figure(figsize=(cm2inch(12.8), cm2inch(9.6)))
Run Code Online (Sandbox Code Playgroud)

但是有原生方法吗?

matplotlib

32
推荐指数
3
解决办法
3万
查看次数

如何使用sklearn计算单词 - 共生矩阵?

我正在寻找sklearn中的一个模块,它可以让你得到单词 - 共生矩阵.

我可以得到文档术语矩阵,但不知道如何获得共生词的单词 - 矩阵.

python matrix scikit-learn

14
推荐指数
3
解决办法
2万
查看次数

从伪编码观察中创建共生矩阵

是否有一种简单的方法可以将数据框与虚拟对象转换为包含两个方面共同计数的共现矩阵?

例如,从这里开始

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)

r

9
推荐指数
1
解决办法
3282
查看次数

使用matplotlib的pyplot在每个单元格中使用文本进行热图

我使用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的可定制热图)

在此输入图像描述

(%我现在的申请不需要额外的,但我很想知道未来)

matplotlib heatmap

5
推荐指数
2
解决办法
7453
查看次数

转换数据帧以进行网络图形化

我有一个像这样的数据帧:

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)

python networkx pandas

3
推荐指数
1
解决办法
568
查看次数