如果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) 我在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) 我无法加载使用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) 我正在阅读这篇文章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 在哪里?有没有其他方法可以解决这个问题?
任何帮助将非常感激。谢谢。
是否有 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) 我正在尝试使用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也返回匹配组.我怎么不这样问?
我想为求和编写一个 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_expr并short_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 ×7
numpy ×2
pip ×2
amazon-ec2 ×1
arrays ×1
bzip2 ×1
for-else ×1
fortran ×1
pandas ×1
pickle ×1
python-3.x ×1
pythonbrew ×1
regex ×1
reshape ×1
scikit-learn ×1
scipy ×1
session ×1
split ×1
string ×1
sympy ×1
virtualenv ×1