通过仅使用数字“0”和“1”将`matrix [:,mask]`转换为`matrix [mask,:]`?

时间:2017-10-23 13:49:44

标签: python python-2.7 numpy matrix mean

我想只编写一个函数来计算dispatch' C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/command/base.rb:63:in的每一行或每列的真实均值(在对行或列中的数字进行平均时不计算零元素)。我尝试分别使用invoke' C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands.rb:16:inrequire' bin/rails:4:in block (2 levels) in require' from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/runtime.rb:77:in参数来控制是按行还是按列计算。

这是按列计算的功能

block in require'
        from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/runtime.rb:66:in

测试功能

require'
        from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler.rb:108:in

但是,如果我想按行计算(<top (required)>' from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/command/actions.rb:15:in = require_application_and_environment!' from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:96:in),则只有run' from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in必须更改为

dispatch'
        from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/command/base.rb:63:in

有没有办法只使用数字invoke' from C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands.rb:16:inrequire' from bin/rails:4:inC:\Users\Redacted\Desktop\Rails\cx-master>tesseract -v tesseract 3.05.01 leptonica-1.74.1 libgif 4.1.6(?) : libjpeg 8d (libjpeg-turbo 1.5.0) : libpng 1.6.20 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.3 : libopenjp2 2.1.0翻转为C:\Users\Redacted\Desktop\Rails\cx-master>gem list tesseract-ocr *** LOCAL GEMS *** tesseract-ocr (0.1.8)?所以我只能有一个函数来计算行和列的真实均值。

1 个答案:

答案 0 :(得分:2)

您可以使用SELECT "Div Code", "Agent Name", SUM(CASE WHEN "Cancel Date" IS NOT NULL THEN "Gross Sale" ELSE 0 END) as "Gross Sale" FROM salessummary GROUP BY "Div Code", "Agent Name"; 运算符将元组作为输入参数的事实:

[]

indexer = [slice(None), slice(None)] indexer[axis] = mask print(x[indexer]) 等同于slice(None),因此我们构造一个元组,它采用完整矩阵:并用掩码替换所需轴的条目。

完整示例:

[:, :]

打印

import numpy as np

x = np.arange(9).reshape(3, 3)
mask = np.array([True, False, True])

for axis in [0, 1]:
    indexer = [slice(None)] * x.ndim
    indexer[axis] = mask    
    print(x[indexer])

[[0 1 2]
 [6 7 8]]