小编imm*_*ied的帖子

这是在一行代码中为numpy数组添加额外维度的最佳方法吗?

如果k是任意形状的numpy数组,那么k.shape = (s1, s2, s3, ..., sn),我想重塑它以便k.shape变成(s1, s2, ..., sn, 1),这是在一行中执行它的最佳方法吗?

k.reshape(*(list(k.shape) + [1])
Run Code Online (Sandbox Code Playgroud)

python arrays numpy reshape python-3.x

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

用pip和virtualenv进行的scipy安装以错误和g ++退出状态4结束

我在AWS(Amazon Web Services)上使用微实例并在python 3.3.2虚拟环境中安装.我试过了:

pip安装scipy

pip install -e git+https://github.com/scipy/scipy.git#egg=scipy
Run Code Online (Sandbox Code Playgroud)

他们以:

  Please submit a full bug report,

with preprocessed source if appropriate.

See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.

In file included from /home/ubuntu/rose/lib/python3.3/site-packages/numpy/core/include/numpy/ndarraytypes.h:1760:0,

                 from /home/ubuntu/rose/lib/python3.3/site-packages/numpy/core/include/numpy/ndarrayobject.h:17,

                 from scipy/sparse/sparsetools/sparsetools.h:5,

                 from scipy/sparse/sparsetools/bsr.cxx:4:

/home/ubuntu/rose/lib/python3.3/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]

g++: internal compiler error: Killed (program cc1plus)

Please submit a full bug report,

with preprocessed source if appropriate.

See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.

Running from scipy source directory.

"object of …
Run Code Online (Sandbox Code Playgroud)

python pip amazon-ec2 virtualenv scipy

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

如何在sklearn中保存自定义转换器?

我无法加载使用sklearn.externals.joblib.dump或保存的自定义转换器的实例,pickle.dump因为当前python会话中缺少自定义转换器的原始定义。

假设在一个python会话中,我定义,创建和保存了一个自定义转换器,它也可以在同一会话中加载:

from sklearn.base import TransformerMixin
from sklearn.base import BaseEstimator
from sklearn.externals import joblib

class CustomTransformer(BaseEstimator, TransformerMixin):
    def __init__(self):
        pass

    def fit(self, X, y=None):
        return self

    def transform(self, X, y=None):
        return X


custom_transformer = CustomTransformer()    
joblib.dump(custom_transformer, 'custom_transformer.pkl')

loaded_custom_transformer = joblib.load('custom_transformer.pkl')
Run Code Online (Sandbox Code Playgroud)

打开一个新的python会话并从'custom_transformer.pkl'加载

from sklearn.externals import joblib

joblib.load('custom_transformer.pkl')
Run Code Online (Sandbox Code Playgroud)

引发以下异常:

AttributeError: module '__main__' has no attribute 'CustomTransformer'
Run Code Online (Sandbox Code Playgroud)

如果joblib将替换为,则会观察到相同的结果pickle。在一个会话中保存自定义转换器

with open('custom_transformer_pickle.pkl', 'wb') as f:
    pickle.dump(custom_transformer, f, -1)
Run Code Online (Sandbox Code Playgroud)

并加载到另一个:

with open('custom_transformer_pickle.pkl', 'rb') as f:
    loaded_custom_transformer_pickle = pickle.load(f) …
Run Code Online (Sandbox Code Playgroud)

python session pickle scikit-learn

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

在 python 虚拟环境中使用 pip 安装 Pandas 时出现“bz2 模块不可用”

我正在阅读这篇文章Numpy、Scipy 和 Pandas - 哦,天哪!, 安装了一些 python 包,但卡在安装 Pandas 的行中:

pip install -e git+https://github.com/pydata/pandas#egg=pandas
Run Code Online (Sandbox Code Playgroud)

对于最新版本,我将“wesm”更改为“pydata”,与该帖子的唯一其他区别是我使用的是 pythonbrew。

我发现这篇文章与错误有关,但是答案中提到的 bz2 的 Makefile 在哪里?有没有其他方法可以解决这个问题?

任何帮助将非常感激。谢谢。

python pip bzip2 pandas pythonbrew

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

是否有 Fortran 等价于 Python 的 for-else 语句?

是否有 Fortran 等价于 Python 的 for-else 语句?

例如,以下将数字列表排序为不同的范围。在 Python 中,它是:

absth = [1, 2, 3, 4, 5]
vals = [.1, .2, .5, 1.2, 3.5, 3.7, 16.8, 19.8, 135.60]


counts = [0] * len(absth)
for v in vals:
    for i, a in enumerate(absth):
        if v < a:
            counts[i] += 1
            break
    else:
        counts[-1] += 1
Run Code Online (Sandbox Code Playgroud)

在 Fortran 中,它的工作原理相同:

do iv = 1, nvals

  is_in_last_absth = .true.

  do ia = 1, nabsth - 1
    if vals(iv) < absth(ia) then
      counts(ia) = counts(ia) …
Run Code Online (Sandbox Code Playgroud)

python fortran for-else

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

如何避免在RegEx拆分结果中捕获组?

我正在尝试使用re匹配以'\n'开头的模式,然后是可能的'real(r8)',然后是零或更多的空格,然后是'function'一词,然后我想要在匹配发生的地方拆分字符串.所以对于这个字符串,

text = '''functional \n   function disdat \nkitkat function wakawak\nreal(r8) function noooooo \ndoit'''
Run Code Online (Sandbox Code Playgroud)

我想要:

['functional ',
 ' disdat \nkitkat function wakawak',
 ' noooooo \ndoit']
Run Code Online (Sandbox Code Playgroud)

然而,

regex = re.compile(r'''\n(real\(r8\))?\s*\bfunction\b''')

regex.split(text)
Run Code Online (Sandbox Code Playgroud)

回报

['functional ',
 None,
 ' disdat \nkitkat function wakawak',
 'real(r8)',
 ' noooooo \ndoit']
Run Code Online (Sandbox Code Playgroud)

split也返回匹配组.我怎么不这样问?

python regex string split

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

如何在 sympy 中在变量的下标上编写求和符号

我想为求和编写一个 sympy 符号,但求和的索引也显示为被加数中变量名称的下标。例如,

import numpy as np
import sympy
sympy.init_printing()

r = sympy.Symbol('r')

a = sympy.Matrix(sympy.symbols('a:4'))
rpowers = sympy.Matrix([r**i for i in range(len(a))])
long_expr = a.dot(rpowers)

n = sympy.Symbol('n')
a_n = sympy.Symbol('a_n')
short_expr = sympy.Sum(a_n * r**n, (n, 0, 3))
Run Code Online (Sandbox Code Playgroud)

long_exprshort_expr在数学上表示相同的事物。但是使用long_expr,我可以替换 的值a,然后将该表达式羔羊化为 numpy 函数:

coeffed_long_expr = long_expr.subs(zip(a, [-1, 3, 23, 8]))
func_long_expr = sympy.lambdify([r], coeffed_long_expr, 'numpy')
Run Code Online (Sandbox Code Playgroud)

我怎样才能做同样的事short_expr?或者short_expr在这种情况下仅对显示带有求和符号的表达式有用?我希望能够使用求和符号来显示,特别是对于大ns 。

python numpy sympy

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