草庐IT

pagerank_numpy

全部标签

python - 访问 3D numpy 数组的切片

我有一个float的3Dnumpy数组。我索引数组不正确吗?我想访问切片124(索引123),但看到此错误:>>>arr.shape(31,285,286)>>>arr[:][123][:]RuntimeerrorTraceback(mostrecentcalllast):File"",line1,inIndexError:index123isoutofboundsforaxis0withsize31这个错误的原因是什么? 最佳答案 arr[:][123][:]是逐段处理的,不是整体。arr[:]#justacopyof`arr`;

python - 使用 numpy.logspace() 时出错 : how to generate numbers spaced evenly on a log-scale

我正在尝试使用numpy.logspace()生成从1e-10到1e-14的50个值。http://docs.scipy.org/doc/numpy/reference/generated/numpy.logspace.htmlimportnumpyasnpx=np.logspace(1e-10,1e-14,num=50)printx我得到的输出不正确:[1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.]我还有哪些其他选择?

python - numpy:将(an,)数组转换为(n,1)数组的语法/习惯用法?

我想将一个形状为(n,)的numpyndarray对象转换为一个形状为(n,1)的对象。我想出的最好办法是滚动我自己的_to_col函数:def_to_col(a):returna.reshape((a.size,1))但我很难相信这样一个无处不在的操作还没有内置到numpy的语法中。我想我只是没能找到正确的谷歌搜索来找到它。 最佳答案 我会使用以下内容:a[:,np.newaxis]另一种(但可能不太清楚)写同样东西的方法是:a[:,None]以上所有(包括您的版本)都是恒定时间操作。

python - 根据列值过滤numpy ndarray(矩阵)

这道题是关于根据某些列值过滤NumPyndarray。我有一个相当大的NumPyndarray(300000,50),我根据某些特定列中的值过滤它。我有ndtypes,所以我可以按名称访问每一列。第一列名为category_code,我需要过滤矩阵以仅返回category_code在("A","B",“C”)。结果需要是另一个NumPyndarray,其列仍可通过dtype名称访问。这是我现在做的:index=numpy.asarray([row['category_code']in('A','B','C')forrowindata])filtered_data=data[index]

python - 加入两个numpy矩阵

如果您有两个numpy矩阵,如何将它们合并为一个?它们应该水平连接,以便[[0][1][[0][1][1]+[0]=[1][0][4][1][4][1][0]][1]][0][1]]例如,使用这些矩阵:>>type(X)>>type(Y)>>X.shape>>Y.shape(53,1)(53,1)我已经尝试过hstack但出现错误:>>Z=hstack([X,Y])Traceback(mostrecentcalllast):File"labels.py",line85,inZ=hstack([X,Y])File"C:\Python27\lib\site-packages\scipy\s

python - 我可以欺骗 numpy.histogram 使其表现得像 numpy.bincount 吗?

所以,我有单词列表,我需要知道每个单词在每个列表中出现的频率。使用“.count(word)”有效,但速度太慢(每个列表都有数千个单词,而我有数千个列表)。我一直在尝试使用numpy来加快速度。我为每个单词生成了一个唯一的数字代码,因此我可以使用numpy.bincount(因为它只适用于整数,不适用于字符串)。但是我得到“ValueError:数组太大”。所以现在我正在尝试调整numpy.histogram函数的“bins”参数,使其返回我需要的频率计数(不知何故numpy.histogram似乎对大数组没有问题)。但到目前为止没有任何好处。有没有人碰巧以前做过这个?有可能吗?是否有

python - 遍历 numpy 数组列的所有成对组合

我有一个大小为numpy的数组arr.size=(200,600,20).我想计算scipy.stats.kendalltau在最后两个维度的每个成对组合上。例如:kendalltau(arr[:,0,0],arr[:,1,0])kendalltau(arr[:,0,0],arr[:,1,1])kendalltau(arr[:,0,0],arr[:,1,2])...kendalltau(arr[:,0,0],arr[:,2,0])kendalltau(arr[:,0,0],arr[:,2,1])kendalltau(arr[:,0,0],arr[:,2,2])......kendall

python - 结合numpy多维数组

我在以某种方式组合数组时遇到了一个小问题。假设我们有a=array([[1,1,1],[2,2,2],[3,3,3]])b=array([[10,10,10],[20,20,20],[30,30,30]])我想得到c=array([[[1,1,1],[10,10,10]],[[2,2,2],[20,20,20]],[[3,3,3],[30,30,30]]])真正的问题是我的数组a和b比3个坐标长得多!我使用concatenate取得的最好成绩是:concatenate((a,b),axis=2)结果数组([[1,1,1,10,10,10],[2,2,2,20,20,20],[3,3,3

python - 如何有效地翻转多维 numpy 数组?

这个问题在这里已经有了答案:numpyreversemultidimensionalarray(2个答案)关闭9年前。假设我有一个数组>>>a[[[0,1,2],[3,4,5],[6,7,8]],[[10,11,12],[13,14,15],[16,17,18]]]我想围绕一个轴翻转以结束>>>aflipped[[[2,1,0],[5,4,3],[8,7,6]],[[12,11,10],[15,14,13],[18,17,16]]]我想用某种方式来做这件事>>>aflipped=a[::-1][::1][::1]或>>>>aflipped=flipud(a)表示法,因为我知道这是非常快

Python/numpy定位Runtime Warning

我在应用程序服务器上有一个numpy脚本,它被调用了数千次,而且在极难得的情况下我会收到运行时警告:/usr/local/lib/python2.7/dist-packages/scipy/stats/stats.py:2417:RuntimeWarning:invalidvalueencounteredindouble_scalarsr=(r_num/r_den)不确定发生在何处。为什么会这样。它对代码的影响(如果有的话)。一切都通过了眼睛测试和单元测试。但是我再次不确定我是否在寻找正确的地方,因为这种警告发生的可能性小于1%如何让python打印出警告的位置?