小编Har*_*pal的帖子

在Numpy数组中投影坐标

所以我在我的软件中遇到了一个相当大的瓶颈.我有一组坐标cords,每行对应X,Y,Z坐标.每个坐标cords都有一个定义的区域atom_proj.的atoms变量对应于cords变量和提供的关键atom_proj.

我将坐标投影到grid阵列上,然后旋转并重复,直到满足旋转次数.我只投射X和Z坐标忽略Y.

我在下面简化了我的代码版本.对于小的坐标集和旋转次数,代码运行相对较快.但是如果坐标集和旋转列表都很大,则可能需要很长时间.坐标的数量可以从几百到几万不等.我将该区域投射到grid一个或多个旋转上以产生热图.下面还示出了坐标集的热图的示例.

题:

(i) - 如何减少坐标到矩阵的投影时间

(ii) - 是否有更多的pythonic方式将坐标区应用于grid阵列拼接而不是阵列拼接?

import numpy as np
cords = np.array([[5,4,5],[5,4,3],[6,4,6]])
atoms = np.array([['C'],['H'],['C']])
atom_proj = {'H':np.array([[0,0,0,0,0],[0,0,1,0,0],[0,1,1,1,0],[0,0,1,0,0],[0,0,0,0,0]]),'C':np.array([[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]])}

grid = np.zeros((10,10))

for rot in xrange(1,10): 
    # This for loop would contain a list of list of rotations to apply which are calculated before hand.
    # apply rotation
    for values in zip(cords, atoms):
        atom_shape = np.shape(atom_proj[values[1][0]]) …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

将多个核心分配给Python程序

我注意到当我运行我依赖CPU的高级python程序时,它只使用一个核心.运行时是否可以为程序分配多个内核?

python parallel-processing cpu-cores

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

R:hclust中未使用的参数"label"

我正在使用以下代码来构建和分层集群:

dat <- read.table(textConnection("
pdb      PA      EHSS 
1avd_model.pdb  3028.0  3920.0
1ave_model.pdb  3083.0  4019.0
1ij8_model.pdb  2958.0  3830.0
1ldo_model.pdb  2889.0  3754.0
1ldq_model.pdb  2758.0  3590.0
1lel_model.pdb  2815.0  3650.0
1vyo_model.pdb  2877.0  3740.0
2a5b_model.pdb  3145.0  4103.0
2a5c_model.pdb  3072.0  3994.0
2a8g_model.pdb  3056.0  3978.0
2avi_model.pdb  2856.0  3700.0
2c4i_model.pdb  2934.0  3795.0
2cam_model.pdb  3112.0  4053.0
2jgs.pdb    2913.0  3739.0
3fdc_model.pdb  2837.0  3666.0"), header=TRUE)

d <- dist(dat$PA, method = "euclidean")
fit <- hclust(d, method="ward", labels=dat$pdb)
plot(fit) 
Run Code Online (Sandbox Code Playgroud)

但是当它构建集群时,我收到以下错误消息unused argument(s) (labels = dat$pdb).

为什么标签不起作用?

r cluster-analysis

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

Python:使用stdout从subprocess.call捕获输出

所以我试图保存我的输出,subprocess.call但我不断收到以下错误: AttributeError: 'int' object has no attribute 'communicate'

代码如下:

p2 = subprocess.call(['./test.out', 'new_file.mfj', 'delete1.out'], stdout = PIPE)
output = p2.communicate[0]
Run Code Online (Sandbox Code Playgroud)

python

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

中心使用flex-layout对齐div

我目前有一个组件,看起来像:

import { Component } from '@angular/core';

@Component({
  selector: 'home-about',
  template: `
    <div
      fxFlex="50"
      fxLayout="column"
      fxLayoutAlign="center"
    >
      <div>
        <h2>About This Site</h2>
      </div>
      <p>
    TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
    TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
    TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
    TEXT TEXT TEXT …
Run Code Online (Sandbox Code Playgroud)

angular-flex-layout angular

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

Python:选择具有相关概率的数字

可能重复:
随机加权选择
生成具有给定(数字)分布的随机数

我有一个列表列表,其中包含一系列数字和相关概率.

prob_list = [[1, 0.5], [2, 0.25], [3, 0.05], [4, 0.01], [5, 0.09], [6, 0.1]]
Run Code Online (Sandbox Code Playgroud)

例如,prob_list[0]数字1的概率为0.5,与之相关.所以你会期望1出现50%的时间.

当我选择数字时,如何为数字增加权重?

注意:列表中的数字量可以在6到100之间变化


编辑

在列表中,我有6个数字及其相关概率.我想根据它们的概率选择两个数字.

没有数字可以选择两次.如果选择"2",则无法再次选择.

python random statistics probability

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

Python:拆分numpy数组

我有一个由numpy生成的数组,如下所示:

[54.51399994 -12.10200024 -11.88099957]
[56.23899841 -8.30799961 -2.03500009]

我如何将其转换为列表?所以它看起来如下:

['54 .51399994',' - 12.10200024',' - 11.88099957']
['56 .23899841',' - 8.30799961',' - 2.03500009']

python arrays numpy list

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

每行上有多个值,带有R中的圆点图

我有以下R输入文件:

car    1
car    2 
car    3 
car2   1 
car2   2 
car2   3 
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令绘制我的图形:

autos_data < - read.table("〜/ Documents/R/test.txt",header = F)

dotchart(autos_data $ V2,autos_data $ V1)

但是,这会将每个汽车和汽车2的值绘制在一条新线上,如何绘制图表,以便所有汽车值都在一条线上,所有car2值都在另一条线上.

r

4
推荐指数
2
解决办法
3569
查看次数

R:ggplot2中的密度图与密度图

我试图在R中做一些密度图.我最初使用的是密度图,但我改为ggplot2中的密度图,因为我在视觉上更喜欢ggplot2.

所以我使用密度绘图函数进行了密度图,并在ggplot2中进行了密度图(见下文),但我发现这些图并不相同.看起来ggplot2(右图)中的某些y值已丢失或丢失.这有什么特别的原因吗?如何使ggplot与命运图相同(左图).

在此输入图像描述

码:

library(ggplot2)
library(grid)
par(mfrow=c(1,2))

# de?ne function to create multi-plot setup (nrow, ncol)
vp.setup <- function(x,y){
 grid.newpage()
 pushViewport(viewport(layout = grid.layout(x,y)))
}

# de?ne function to easily access layout (row, col)
vp.layout <- function(x,y){
  viewport(layout.pos.row=x, layout.pos.col=y)
}


vp.setup(1,2)

dat <- read.table(textConnection("
low high
10611.0 14195.0
10759.0 14437.0
10807.0 14574.0
10714.0 14380.0
10768.0 14448.0
10601.0 14239.0
10579.0 14218.0
10806.0 14510.0
"), header=TRUE, sep="\t")

plot(density(dat$low))

dat.low = data.frame(low2 = c(dat$low), lines = rep(c("low")))

low_plot_gg = (ggplot(dat.low, aes(x = low2, fill = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

多个面板

我的程序遇到两个问题.下面的代码生成两个面板,它应该生成3.它生成panel1panel2没有问题,但panel3应该在右边panel2是无处可见.Panel1并且panel2垂直分开我试图用panel2和做同样的事情panel3

我的第二个问题是我怎么下方产生另一面板panel1而不破坏之间的分割panel1panel2再创造之间的分离器panel1和新创建的面板下面呢?

import wx


class Panels(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)

        hbox = wx.BoxSizer(wx.HORIZONTAL)
        splitter = wx.SplitterWindow(self, -1)

        vbox1 = wx.BoxSizer(wx.VERTICAL)
        panel1 = wx.Panel(splitter, -1)
        panel12 = wx.Panel(panel1, -1, style=wx.BORDER_SUNKEN)
        st1 = wx.StaticText(panel12, -1, 'Panel 1', (5, 5))
        vbox1.Add(panel12, 1, wx.EXPAND)
        panel1.SetSizer(vbox1)

        vbox2 = wx.BoxSizer(wx.VERTICAL)
        panel2 = wx.Panel(splitter, -1)
        panel22 = wx.Panel(panel2, -1, …
Run Code Online (Sandbox Code Playgroud)

python wxpython

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