小编use*_*669的帖子

numpy切片奇怪的行为

我有一个像这样的 5 维数组

a=np.random.randint(10,size=[2,3,4,5,600])
a.shape #(2,3,4,5,600)
Run Code Online (Sandbox Code Playgroud)

我想获取第二维的第一个元素,以及最后一个维度的几个元素

b=a[:,0,:,:,[1,3,5,30,17,24,30,100,120]]
b.shape #(9,2,4,5)
Run Code Online (Sandbox Code Playgroud)

如您所见,最后一个维度自动转换为第一个维度。为什么?以及如何避免这种情况?

python numpy slice

4
推荐指数
1
解决办法
77
查看次数

Rails 4 pdfkit无法将chartkick图转换为pdf

我正在使用Rails 4

我按照https://github.com/pdfkit/pdfkit的说明进行操作

在控制器中我有

respond_to do |format|
                    format.html {render layout:'application'}
                    format.csv {send_data @testdatares.to_csv}
                    format.pdf {
                            html = render_to_string(:layout => 'application' , :action => "testpage.html.erb");
                            kit = PDFKit.new(html);
                            kit.stylesheets << "#{Rails.root}/app/assets/stylesheets/application.css";
                            send_data(kit.to_pdf, :filename => "some_name.pdf", :type => 'application/pdf')
                    }
            end
Run Code Online (Sandbox Code Playgroud)

在application.html.erb我有

<!DOCTYPE html>
<html>          
<head>                  
<title>STNEW</title>
<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= javascript_include_tag "http://www.google.com/jsapi", "/usr/local/lib/ruby/gems/2.1.0/gems/chartkick-1.3.2/app/assets/javascripts/chartkick",media:'all' %>
<%= csrf_meta_tags %>
</head>       
Run Code Online (Sandbox Code Playgroud)

请注意,我已经使用了chartkick.js的绝对路径

现在在html中,完整地显示了chartkick内容.

但是在pdfkit生成的pdf文件中,所有chartkick内容都显示为"正在加载",而正确显示了文本

谷歌搜索但没有找到答案

pdfkit ruby-on-rails-4

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

perl foreach吃掉所有数组内容

以下代码将包含@populations中的内容

@populations=("EUR","AFR","ASN","AMR");
print @populations,"\n";  #will show EURAFRASNAMR
foreach (@populations)
{  
    $filepath="tmp.txt"; #whatever text file you like 
    open(FILE,"<$filepath");
    while(<FILE>)
    {   
    }   
}   
print @populations,"\n";   #will print nothing
Run Code Online (Sandbox Code Playgroud)

如果改为

foreach $i (@populations)
Run Code Online (Sandbox Code Playgroud)

然后阵列将不会被吃掉.

或者如果标记while循环,则不会吃掉该数组.

我不是一个perl guru,但有几年的经验.

谁能告诉我为什么?它是perl的一个bug吗?

perl

0
推荐指数
2
解决办法
120
查看次数

标签 统计

numpy ×1

pdfkit ×1

perl ×1

python ×1

ruby-on-rails-4 ×1

slice ×1