我有一个50x50的矩阵,其中一些数字从0到1比1不等.如何用彩条显示这些数据的热图?我正在寻找的是一个图,其中x和y值的范围从1到50和1到50,每个点(x,y给出相应的数据在矩阵条目(大小颜色)x,y).有关这种热图的示例,请查看这个有趣的xkcd帖子.
谢谢!
我在下面有一些代码,应该检查一个值是否在数组中.
Sub test()
vars1 = Array("Examples")
vars2 = Array("Example")
If IsInArray(Range("A1").Value, vars1) Then
x = 1
End If
If IsInArray(Range("A1").Value, vars2) Then
x = 1
End If
End Sub
Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function
Run Code Online (Sandbox Code Playgroud)
如果单元格A1中包含单词Examples出于某种原因两者的IsInArray检测为现有两个数组时,它应该只找到它存在的在vars1阵
我需要更改什么才能使我的IsInArray功能完全匹配?
我必须将numpy浮点数组转换为字符串(存储在SQL DB中),然后将相同的字符串转换回numpy浮点数组.
这就是我要去一个字符串(基于这篇文章)
VIstring = ''.join(['%.5f,' % num for num in VI])
VIstring= VIstring[:-1] #Get rid of the last comma
Run Code Online (Sandbox Code Playgroud)
首先,这确实有效,这是一个好方法吗?他们是摆脱最后一个逗号的更好方法吗?或者我可以获得join为我插入逗号的方法吗?
其次,更重要的是,是否有一种聪明的方法从字符串返回浮点数组?
这是一个数组和字符串的示例:
VI
array([ 17.95024446, 17.51670904, 17.08894626, 16.66695611,
16.25073861, 15.84029374, 15.4356215 , 15.0367219 ,
14.64359494, 14.25624062, 13.87465893, 13.49884988,
13.12881346, 12.76454968, 12.40605854, 12.00293814,
11.96379322, 11.96272486, 11.96142533, 11.96010489,
11.95881595, 12.26924591, 12.67548634, 13.08158864,
13.4877041 , 13.87701221, 14.40238245, 14.94943786,
15.49364166, 16.03681428, 16.5498035 , 16.78362298,
16.90331119, 17.02299387, 17.12193689, 17.09448654,
17.00066063, 16.9300633 , 16.97229868, 17.2169709 , 17.75368411])
VIstring
'17.95024,17.51671,17.08895,16.66696,16.25074,15.84029,15.43562,15.03672,14.64359,14.25624,13.87466,13.49885,13.12881,12.76455,12.40606,12.00294,11.96379,11.96272,11.96143,11.96010,11.95882,12.26925,12.67549,13.08159,13.48770,13.87701,14.40238,14.94944,15.49364,16.03681,16.54980,16.78362,16.90331,17.02299,17.12194,17.09449,17.00066,16.93006,16.97230,17.21697,17.75368'
Run Code Online (Sandbox Code Playgroud)
哦,是的,精确度的损失%.5f …
我每次都在MATLAB中迭代一个大的测试矩阵并调用第二方专有软件(在MATLAB中运行).我无法编辑软件源代码.有时候,软件会挂起,所以我想在一段时间后退出它并继续下一次迭代.
在伪代码中,我这样做:
for i = 1:n
output(i) = proprietary_software(input(i));
end
Run Code Online (Sandbox Code Playgroud)
output(i)='too_long'如果专有软件耗时太长,我怎样才能跳到下一次迭代(并可能保存)?
我在某处读到,如果您为专有工作制作内部Python包,您仍应在PyPi上注册该名称,以避免潜在的未来依赖性问题.
如果不公开发布我的代码,我该怎么做?该软件包包含在我的工作内部使用的代码.我应该使用我想要保留的名称创建一个空的python包并将其上传到PyPi吗?然后使用git而不是PyPi在工作中安装我的包?
上传一个空包似乎是一件愚蠢的事情,这会让其他人烦恼.但我找不到一种方法来注册这个名字.
可以说我有一个功能:
function [ A, B, C ] = test(x, y, z)
A=2*x;
B=2*y;
C=2*z;
end
Run Code Online (Sandbox Code Playgroud)
当您按下run时,matlab仅返回输出参数中的第一个值 - [A]在本例中.是否有一个命令,我可以放在我的函数中,自动返回所有函数输出参数[A,B,C]而不是第一个参数.我知道我可以输入我的命令窗口[ A, B, C ] = test(x, y, z)并获取所有值,但有时候我很懒,只想按Run并自动获取所有值.
使用以下两种方法为montecarlo模拟生成一系列路径之间是否存在统计差异(请注意,路径中我指的是350点的向量,通常是分布式的):
一个)
for path = 1:300000
Zn(path, :) = randn(1, 350);
end
Run Code Online (Sandbox Code Playgroud)
或更高效的B)
Zn = randn(300000, 350);
Run Code Online (Sandbox Code Playgroud)
我只希望确保没有滑稽相加的关联或方法B中的行之间的依赖也许就像方法乙通常分布在2维,其中A是用1种尺寸,其不存在于方法A,所以也许这使得两个统计上有所不同?
如果存在差异,那么我需要知道相同的均匀分布(即rand而不是randn)
我想实现的功能等surf(x,y,z,c)在MATLAB中,在这里x,y并且z是坐标,c是一个变量的值,我可以使用c来定义颜色.我不知道如何实现它matplotlib.
我正在尝试使用mca包在Python中进行多个对应分析.
我对如何使用它感到有点困惑.随着PCA我希望到适合一些数据(即找到这些数据主要成分),再后来我就能够使用,我发现主成分变换看不见的数据.
根据MCA文档,我无法确定如何执行此最后一步.我也搞不懂什么任何的古怪cryptically命名的属性和方法做(即.E,.L,.K,.k等).
到目前为止,如果我有一个包含字符串的列的DataFrame(假设这是DF中唯一的列)我会做类似的事情
import mca
ca = mca.MCA(pd.get_dummies(df, drop_first=True))
Run Code Online (Sandbox Code Playgroud)
从我可以收集到的
ca.fs_r(1)
Run Code Online (Sandbox Code Playgroud)
是在数据的变换df和
ca.L
Run Code Online (Sandbox Code Playgroud)
应该是特征值(虽然我得到的1s 的向量比我的特征数量少一个元素?).
现在,如果我有更多具有相同功能的数据,让我们说df_new并假设我已经正确地将其转换为虚拟变量,我如何找到ca.fs_r(1)新数据的等价物
我想从矩阵的每一行中得到一个不同的列.例如:
A = [1,2;1,4;5,2]
B = [2;2;1]
Run Code Online (Sandbox Code Playgroud)
输出应该产生:
out = [2;4;5]
Run Code Online (Sandbox Code Playgroud)
所以简而言之:A是矩阵,并且B每行的列数都有索引.如何在不使用循环的情况下执行此操作(如果可能)?
matlab ×6
python ×3
matrix ×2
python-3.x ×2
arrays ×1
break ×1
csv ×1
excel ×1
excel-vba ×1
matplotlib ×1
numpy ×1
package ×1
pandas ×1
pca ×1
plot ×1
pypi ×1
python-2.7 ×1
random ×1
row ×1
scikit-learn ×1
statistics ×1
timeout ×1
vba ×1