小编jje*_*omi的帖子

在Python中计算numpy ndarray中非NaN元素的数量

我需要计算numpy ndarray矩阵中的非NaN元素的数量.如何在Python中有效地做到这一点?这是我实现此目的的简单代码:

import numpy as np

def numberOfNonNans(data):
    count = 0
    for i in data:
        if not np.isnan(i):
            count += 1
    return count 
Run Code Online (Sandbox Code Playgroud)

numpy中是否有内置函数?效率很重要,因为我正在进行大数据分析.

Thnx任何帮助!

python numpy matrix nan

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

如何将相关矩阵可视化为Matlab中的模式球

我有42个变量,我在Matlab中为它们计算了相关矩阵.现在我想用一个模式球来形象化它.有没有人有任何建议/经验如何在Matlab中完成?以下图片将更好地解释我的观点:

SCHEMABALL

在此输入图像描述

在图片中,变量之间的每个抛物线将意味着它们之间的相关强度.线越粗,相关性越大.我比图2中的风格更喜欢图片1的风格,在那里我使用了不同的颜色来突出相关的强度.

matlab plot visualization correlation graph-visualization

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

机器语言,二进制代码和二进制文件之间的区别

我正在学习编程,在很多方面我都看到了概念:"机器语言","二进制代码"和"二进制文件".我不清楚这三者之间的区别,因为根据我的理解,机器语言是指计算机可以理解的原始语言,即0和1的序列.

现在,如果机器语言是0和1的序列,二进制代码也是0和1的序列,那么机器语言=二进制代码

二进制文件怎么样?什么是二进制文件?对我来说,"二进制文件"这个词意味着一个由二进制代码组成的文件.例如,如果我的文件是:

010010101010010
010010100110100
010101100111010
010101010101011
010101010100101
010101010010111
Run Code Online (Sandbox Code Playgroud)

这是一个二进制文件吗?如果我谷歌二进制文件,看到维基百科,我看到这个二进制文件的示例图片混淆了我(它不是二进制文件?....)

十六进制图像

我的困惑在哪里发生?我在这里混合文件编码还是什么?如果我要问一个人给我看什么是机器语言,二进制代码和二进制文件,它们会是什么?=)我猜这种区别对我来说太抽象了.

Thnx任何帮助!=)

更新:

例如,在Python中,文件I/O 教程中有一个短语,我不明白:打开一个文件只能以二进制格式读取.以二进制格式读取文件意味着什么?

binary encoding

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

C++编译器:'class std :: vector <std :: vector <char >>>'没有名为'emplace_back'的成员

编译C++时,我从编译器中得到错误.这是我的代码:

#include <iostream>     
#include <algorithm>   
#include <typeinfo>
#include <string>
#include <vector>


std::vector< std::vector<char> > p(std::vector<char> v)
{
    std::vector< std::vector<char> > result;

    std::sort(v.begin(), v.end());
    do
    {
        result.emplace_back(v);
    }
    while(std::next_permutation(v.begin(), v.end()));

    return result;
}
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

在此输入图像描述

知道是什么导致了这个吗?

我正在使用Codeblocks 12.11,Windows 7,我的编译器是GNU GCC Compiler

Thnx的助攻:)

更新:

如果有人碰到同样的问题,这里是解决方案(在Codeblocks 12.11中):

转到:设置 - >编译器 - >编译器设置 - >选中以下复选框:

在此输入图像描述

除此之外,请记住main在代码中使用-function.否则编译器将给出以下错误:

在此输入图像描述

解决方案是由回复我帖子的用户给出的:)

c++ compiler-construction vector

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

如何在Python中将二进制向量旋转到最小

如果我在Python中有一个任意二进制向量(numpy数组),例如

import numpy as np

vector = np.zeros((8,1))
vector[2,1] = 1
vector[3,1] = 1 
Run Code Online (Sandbox Code Playgroud)

这将给我二进制数组00001100.我也可以有00000000或00010100等.如何制作这样一个脚本,当我将这个二进制向量作为输入时,脚本给出最小的右旋二进制numpy数组作为输出?几个例子:

00010000 --> 00000001
10100000 --> 00000101
11000001 --> 00000111
00000000 --> 00000000
11111111 --> 11111111
10101010 --> 01010101
11110000 --> 00001111
00111000 --> 00000111
10001111 --> 00011111
Run Code Online (Sandbox Code Playgroud)

等任何建议/优化的Python实现?=)谢谢你的帮助.我需要这个本地二进制模式实现=)

python arrays binary numpy bit-shift

7
推荐指数
1
解决办法
570
查看次数

如何使colorbar参考3D图中的标记而不是Matlab中的表面

我有以下类型的情节:

在此输入图像描述

我使用surf-function和使用plot3-function 绘制的标记创建了黑白表面.对于每个标记,我根据标记的值定义了红黄绿之间的色图.从图中可以看出,colorbar此刻指的是表面,但我希望它指的是标记.我怎样才能做到这一点?

谢谢!

这是MWE基本上显示了我现在所做的事情:

% Plot the surface with a colormap
Z = peaks;
Z = peaks./max(Z(:));
Z = (Z+1)*3/2;
surf(Z)
colormap(flipud(gray))
shading interp
hold on

% Create the 4-dimensional marker data
x = (50-10).*rand(50,1) + 10;
y = (50-10).*rand(50,1) + 10;
z = (3-1).*rand(50,1) + 1;
q = 5.*rand(50,1); % This dimension is used to select the color

% Create the color map for the markers
c1=[0 1 0]; %G
c2=[1 1 …
Run Code Online (Sandbox Code Playgroud)

matlab plot colorbar

7
推荐指数
1
解决办法
207
查看次数

是什么导致了我的随机:“joblib.externals.loky.process_executor.TermulatedWorkerError”错误?

我正在进行基于 GIS 的数据分析,其中计算广域全国预测图(例如天气图等)。因为我的目标区域非常大(整个国家),所以我使用超级计算机(Slurm)和并行化来计算预测图。也就是说,我将预测图分成多个部分,每个部分都在自己的进程中计算(令人尴尬的并行进程),并且在每个进程中,使用多个 CPU 核心来计算该部分(地图部分进一步拆分为更小的部分)对于 CPU 核心)。

我使用 Python 的 joblib-library 来利用我可以使用的多个核心,并且大多数时候一切都运行顺利。但有时,大约有 1.5% 的概率,我会收到以下错误:

Traceback (most recent call last):
  File "main.py", line 557, in <module>
    sub_rasters = Parallel(n_jobs=-1, verbose=0, pre_dispatch='2*n_jobs')(
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/parallel.py", line 1054, in __call__
    self.retrieve()
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/parallel.py", line 933, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/_parallel_backends.py", line 542, in wrap_future_result
    return future.result(timeout=timeout)
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
joblib.externals.loky.process_executor.TerminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing supercomputers slurm joblib

7
推荐指数
1
解决办法
5774
查看次数

使用Numpy ndarray进行条件索引

我有一个浮动值的Numpy ndarray矩阵,我需要选择特定行,其中某些列的值满足某些条件.例如,假设我有以下numpy矩阵:

matrix = np.ndarray([4, 5])
matrix[0,:] = range(1,6)
matrix[1,:] = range(6,11)
matrix[2,:] = range(11,16)
matrix[3,:] = range(16,21)
Run Code Online (Sandbox Code Playgroud)

假设我想从矩阵中选择第一列值在1到6之间的行,第二列的值在2-7之间.

如何获得满足这些条件的矩阵的行索引?如果我想删除满足条件标准的行呢?

python indexing numpy matrix

6
推荐指数
1
解决办法
2万
查看次数

调用随机数生成成员函数不会产生完全随机的数字

我正在使用C++创建一个wxWidget应用程序,在程序开始时我希望应用程序窗口包含具有随机颜色的像素,如下所示:

随机彩色像素

在上面的应用程序中有3600像素(60 x 60),我通过使用给每个像素一个随机的RGB颜色 uniform_int_distribution

使用我的代码中的以下函数生成上图中像素的颜色:

void random_colors(int ctable[][3], int n)
{
  // construct a trivial random generator engine from a time-based seed:
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  std::default_random_engine generator (seed);
  std::uniform_int_distribution<int> distribution(0,255);
  for(int i=0; i<n; i++)
  {
      for(int j=0; j<3; j++)
      {
        ctable[i][j] = distribution(generator);
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我这样做的方法是给这个函数一个尺寸为3600 x 3的表,这个函数将填充颜色的值.

然而这种方式不是我想要的.我想要的是创建一个类somNode,其中每个somNode-object代表图片中的一个像素(RGB值作为成员数组属性).在这个somNode类中,我有一个成员函数,uniform_int_distribution用于在构造每个somNode自己的随机RGB颜色时给出.这是为每个创建随机颜色的功能somNode:

void rand_node_colour(int nodeWeights[])
{
  // construct a trivial random generator engine from a time-based seed:
  unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ random wxwidgets

6
推荐指数
1
解决办法
399
查看次数

我的Gradient Descent算法有什么问题

嗨,我正在尝试为函数实现梯度下降算法:

在此输入图像描述

我的算法起点是w =(u,v)=(2,2).学习率为eta = 0.01且bound = 10 ^ -14.这是我的MATLAB代码:

function [resultTable, boundIter] = gradientDescent(w, iters, bound, eta)
% FUNCTION [resultTable, boundIter] = gradientDescent(w, its, bound, eta)
% 
% DESCRIPTION: 
% - This function will do gradient descent error minimization for the
% function E(u,v) = (u*exp(v) - 2*v*exp(-u))^2.
%
% INPUTS: 
% 'w' a 1-by-2 vector indicating initial weights w = [u,v]
% 'its' a positive integer indicating the number of gradient descent
% iterations
% 'bound' a real number …
Run Code Online (Sandbox Code Playgroud)

algorithm optimization matlab gradient machine-learning

5
推荐指数
1
解决办法
474
查看次数