小编pir*_*pir的帖子

使用旧值和新值列表替换numpy数组中的元素

我想使用旧值和新值列表替换numpy数组中的元素.请参阅下面的代码示例(replace_old是请求的方法).该方法必须适用于int,float和string元素.我怎么做?

import numpy as np

dat = np.hstack((np.arange(1,9), np.arange(1,4)))
print dat # [1 2 3 4 5 6 7 8 1 2 3]

old_val = [2, 5]
new_val = [11, 57]

new_dat = replace_old(dat, old_val, new_val)
print new_dat # [1 11 3 4 57 6 7 8 1 11 3]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

两个特征矩阵的有效成对相关

在Python中,我需要找到矩阵中A所有要素与矩阵中所有要素之间的成对相关性B.特别是,我在寻找,在一个给定的特征最强的Pearson相关有意思A具有横跨所有功能B.我不关心最强的相关性是正面还是负面.

我在下面使用了两个循环和scipy完成了一个低效的实现.但是,我想使用np.corrcoef或其他类似的方法来有效地计算它.Matrix的A形状为40000x400,B形状为40000x1440.我有效地尝试这种方法可以在下面看作方法find_max_absolute_corr(A,B).但是,它失败并出现以下错误:

ValueError: all the input array dimensions except for the concatenation axis must match exactly.

import numpy as np
from scipy.stats import pearsonr


def find_max_absolute_corr(A, B):
    """ Finds for each feature in `A` the highest Pearson
        correlation across all features in `B`. """

    max_corr_A = np.zeros((A.shape[1]))    

    for A_col in range(A.shape[1]):
        print "Calculating {}/{}.".format(A_col+1, A.shape[1])

        metric = A[:,A_col]
        pearson = np.corrcoef(B, metric, rowvar=0) …
Run Code Online (Sandbox Code Playgroud)

python numpy matrix vectorization correlation

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

加速正态分布概率质量分配

我们有P avg 的N 个用户。每个用户的点数,其中每个点都是 0 到 1 之间的单个值。我们需要使用已知密度为 0.05 的正态分布来分布每个点的质量,因为这些点具有一些不确定性。此外,我们需要将质量包裹在 0 和 1 左右,例如,0.95 处的点也将分配大约 0 的质量。我在下面提供了一个工作示例,它将正态分布划分为D=50 个容器。该示例使用 Python 类型模块,但如果您愿意,可以忽略它。

from typing import List, Any
import numpy as np
import scipy.stats
import matplotlib.pyplot as plt

D = 50
BINS: List[float] = np.linspace(0, 1, D + 1).tolist()


def probability_mass(distribution: Any, x0: float, x1: float) -> float:
    """
    Computes the area under the distribution, wrapping at 1.
    The wrapping is done by adding the PDF at +- …
Run Code Online (Sandbox Code Playgroud)

python performance numpy probability scipy

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

估计 Postgres 索引的大小

我试图更好地了解创建 Postgres 索引所涉及的权衡。作为其中的一部分,我很想了解通常使用多少空间索引。我已经通读了文档,但找不到任何关于此的信息。我一直在做我自己的小实验来创建表和索引,但是如果有人能解释为什么大小是这样的,那就太棒了。假设一个像这样有 1M 行的公共表,其中每一行都有一个唯一的id和唯一的outstanding.

CREATE TABLE account (
    id integer,
    active boolean NOT NULL,
    outstanding double precision NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)

以及由创建的索引

  • CREATE INDEX id_idx ON account(id)
  • CREATE INDEX outstanding_idx ON account(outstanding)
  • CREATE INDEX id_outstanding_idx ON account(id, outstanding)
  • CREATE INDEX active_idx ON account(active)
  • CREATE INDEX partial_id_idx ON account(id) WHERE active

你估计索引大小是多少字节,更重要的是,为什么?

postgresql indexing storage

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

旋转轴标签放置不正确(matplotlib)

我想绘制一个带有旋转标签的相关矩阵。但是,标签错位,如下所示。我试图查看Matplotlib Python Barplot: Position of xtick 标签在彼此之间有不规则的空间,但我不能让它在我的情况下工作,因为它建立在条形图的布局上。使用以下代码添加标签:

    fig  = plt.figure()  
    ax1  = fig.add_subplot(111)
    varLabels = ['n_contacts', 'n_calls', 'n_texts', 'dur_calls', 'morning', 'work-hours', 'evening', 'night', 'weekdays', 'friday', 'saturday', 'sunday']

    ax1.set_xticks(np.arange(0,12))
    ax1.set_yticks(np.arange(0,12))
    ax1.set_xticklabels(varLabels, rotation=45);
    ax1.set_yticklabels(varLabels, rotation=45);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python matplotlib

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

一维 numpy 数组浮点

我想将一维 numpy 数组转换为简单的浮点数(无数组)。这是怎么做到的?这是我当前的代码,其中包含变量“acc”。

print type(acc)
print acc.shape

>>> <type 'numpy.ndarray'>
>>> (1,)
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

检查数组 - 是否包含在另一个数组中?

我想为数组A中的每个值返回一个布尔值,指示它是否在数组中B.这应该是我猜的标准程序,但我找不到任何有关如何操作的信息.我的尝试如下:

A = ['User0','User1','User2','User3','User4','User0','User1','User2','User3'
     'User4','User0','User1','User2','User3','User4','User0','User1','User2'
     'User3','User4','User0','User1','User2','User3','User4','User0','User1'
     'User2','User3','User4','User0','User1']
B = ['User3', 'User2', 'User4']
contained = (A in B)
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

ValueError: shape mismatch: objects cannot be broadcast to a single shape
Run Code Online (Sandbox Code Playgroud)

我正在使用numpy所以任何使用numpy或标准Python的解决方案都是首选.

python arrays numpy

3
推荐指数
2
解决办法
4389
查看次数

使用光滑时无法删除图例符号后面的灰色区域

我正在使用ggplot2和GAM平滑来查看两个变量之间的关系.在绘图时,我想删除符号背后的灰色区域以获得两种类型的变量.为此,我会使用theme(legend.key = element_blank()),但使用平滑时似乎不起作用.

谁能告诉我如何去除图例中两条黑线背后的灰色区域?

我的MWE低于.

library(ggplot2)

len <- 10000
x <- seq(0, len-1)
df <- as.data.frame(x)
df$y <- 1 - df$x*(1/len)
df$y <- df$y + rnorm(len,sd=0.1)
df$type <- 'method 1'
df$type[df$y>0.5] <- 'method 2'

p <- ggplot(df, aes(x=x, y=y)) + stat_smooth(aes(lty=type), col="black", method = "auto", size=1, se=TRUE)
p <- p + theme_classic()
p <- p + theme(legend.title=element_blank())
p <- p + theme(legend.key = element_blank()) # <--- this doesn't work?
p
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r legend ggplot2

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

对于浮点数,Tensorflow逐位NOT运算

我有一个Tensorflow布尔向量,我需要逐位反转,使​​得0(False)的所有值变为1(True),反之亦然.tf.logical_not存在,但它只接受布尔向量.是否存在Tensorflow在int或float的向量上执行此操作,因此我不需要重构我的张量?

bit-manipulation tensorflow

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

检查两个 GitHub 分支在没有本地 git 存储库的情况下是否“偶数”?

如何检查两个分支是否“偶数”?描述如何检查两个 git 分支是否偶数。然而,答案依赖于分支获取和本地更新。由于这是脚本的一部分并且 git 存储库非常大,因此我不想获取分支的所有信息。

如何检查 GitHub 存储库上的两个分支是否甚至没有 git 存储库的本地副本?

git github

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