所以我有一个包含 5,000,000 个整数的列表。我想将列表覆盖到 numpy 数组中。我尝试了以下代码:
numpy.array( list )
Run Code Online (Sandbox Code Playgroud)
但速度非常慢。
我对该操作进行了 100 次基准测试,并对列表进行了 100 次循环。没有太大区别。
有什么好主意如何让它更快吗?
我有以下代码,我想在Dask数据帧上进行训练/测试拆分
df = dd.read_csv(csv_filename, sep=',', encoding="latin-1",
names=cols, header=0, dtype='str')
Run Code Online (Sandbox Code Playgroud)
但是当我尝试做像
for train, test in cv.split(X, y):
df.fit(X[train], y[train])
Run Code Online (Sandbox Code Playgroud)
它因错误而失败
KeyError: '[11639 11641 11642 ..., 34997 34998 34999] not in index'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试运行我几年前编写的使用mplfrom 的代码matplotlib。它曾经运行良好,但现在突然出现错误:
from matplotlib import mpl
ImportError: cannot import name mpl
Run Code Online (Sandbox Code Playgroud)
我正在使用 Python 2.7 和 matplotlib 1.5.2。
所以我的 python 代码中遇到了一个问题,我将其归结为:
假设我们有一个函数u:
def u(y,t):
h = float(10)
U0 = float(1)
return U0/h*(y)
Run Code Online (Sandbox Code Playgroud)
和一个数组:
a=np.array([[0]*2]*2)
Run Code Online (Sandbox Code Playgroud)
然后执行以下操作:
a[1][1] = u(1,0)
Run Code Online (Sandbox Code Playgroud)
但尽管等于 仍会a[1][1]返回。0u(1,0)0.1
为什么会发生这种情况以及如何避免这种情况?
我有一个小项目,所以一周前我开始在 Python 上做一些测试。我必须显示 RGB 图像的 3 个通道,但pyplot.imshow()函数显示以下内容:

我想显示红色、绿色和蓝色通道,如下所示:

到目前为止,这是我的代码:
from matplotlib import pyplot as plt
from PIL import Image
import numpy as np
img1 = np.array(Image.open('img1.png'))
figure, plots = plt.subplots(ncols=3, nrows=1)
for i, subplot in zip(range(3), plots):
temp = np.zeros(img1.shape, dtype='uint8')
temp = img1[:,:,i]
subplot.imshow(temp)
subplot.set_axis_off()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我不在任何笔记本上工作。相反,我在 PyCharm 中工作。我读了这篇文章:24739769。我查了一下,img1.dtype是的uint8,所以我不知道如何展示我想要的东西。
我已经读过这个很酷的新词典类型,即transformdict
我想在我的项目中使用它,通过使用常规dict初始化一个新的转换字典:
tran_d = TransformDict(str.lower, {'A':1, 'B':2})
Run Code Online (Sandbox Code Playgroud)
哪个成功但是当我运行时:
tran_d.keys()
Run Code Online (Sandbox Code Playgroud)
我明白了:
['A', 'B']
Run Code Online (Sandbox Code Playgroud)
在创建新的转换字典时,您如何建议在参数(常规)字典上执行转换函数?为了清楚起见,我想要以下内容:
tran_d.keys() == ['a', 'b']
Run Code Online (Sandbox Code Playgroud) 在字符串中格式化dict键的正确方法是什么?
当我这样做:
>>> foo = {'one key': 'one value', 'second key': 'second value'}
>>> "In the middle of a string: {foo.keys()}".format(**locals())
Run Code Online (Sandbox Code Playgroud)
我期待的是:
"In the middle of a string: ['one key', 'second key']"
Run Code Online (Sandbox Code Playgroud)
我得到了什么:
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
"In the middle of a string: {foo.keys()}".format(**locals())
AttributeError: 'dict' object has no attribute 'keys()'
Run Code Online (Sandbox Code Playgroud)
但正如你所看到的,我的dict有键:
>>> foo.keys()
['second key', 'one key']
Run Code Online (Sandbox Code Playgroud) 有人可以解释一下为什么我不能得到相同的结果吗?
import datetime,pytz
var1 = datetime.datetime(2017,10,25,20,10,50,tzinfo=pytz.timezone("Europe/Athens")))
print(var1)
Run Code Online (Sandbox Code Playgroud)
此代码的输出是: 2017-10-25 20:10:50+01:35
import datetime,pytz
var1 = datetime.datetime(2017,10,25,20,10,50)
var1 = pytz.timezone("Europe/Athens").localize(var1)
print(var1)
Run Code Online (Sandbox Code Playgroud)
此代码的输出是: 2017-10-25 20:10:50+03:00
我的问题是为什么他们有不同的时区(1:35和3:00).我知道第二个代码是真的,因为我的UTC是3:00.但是你能告诉我为什么我要进入1:35第一个吗?
我正在寻找使用 Python3 C API 来添加内置函数。我这样做只是为了帮助我熟悉 Python C API 的练习。这个问题的答案很好地解释了为什么人们可能不想这样做。无论如何,我想foo向Pythonbuiltins模块添加一个函数。
这是我到目前为止所做的( foo.c):
#include <Python.h>
#include <stdio.h>
static PyObject*
foo(PyObject *self, PyObject *args){
printf("foo called");
return Py_None;
}
char builtin_name[] = "builtins";
char foo_name[] = "foo";
char foo_doc[] = "foo function";
static PyMethodDef foo_method = {foo_name, foo, METH_NOARGS, foo_doc};
PyMODINIT_FUNC
PyInit_foo(void){
PyObject *builtin_module = PyImport_ImportModule(builtin_name);
PyModule_AddFunctions(builtin_module, &foo_method);
return builtin_module;
}
Run Code Online (Sandbox Code Playgroud)
我将其放置在Modules/Python 源目录中的目录中。
这是我从图像构造最小树的代码(f是由scipy提供的图像)
这是我写的缝纫雕刻计划的基础.
此代码段在普通python中按预期工作.当我@numba.jit没有使用时nopython=True,它也可以工作(性能提高约200%!),但这是在对象模式下.
当我尝试使用nopython=True模式时,它不会编译,我收到错误:
Failed at nopython (nopython frontend)
Undefined variable '$313.3'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这不会编译,因为我没有看到任何可能未定义的东西.
from numba import jit
from scipy import misc
import numba
f = misc.face()
@jit(nopython=True)
def explorethisx(inar, x):
places = []
places.append((x,0))
x1,y1 = x,0
s = numba.int64(0)
co = 0
#for _ in range( 799):
while co != numba.int16(799):
co += 1
a1,a2,a3 = 999,999,999
a1 = inar[y1 + 1][x1-1][1]
a2 = inar[y1 + 1][x1][1]
a3 = inar[y1 + …Run Code Online (Sandbox Code Playgroud) python ×9
numpy ×4
arrays ×2
dictionary ×2
matplotlib ×2
dask ×1
dataframe ×1
datetime ×1
image ×1
importerror ×1
list ×1
methods ×1
numba ×1
performance ×1
pointers ×1
python-2.7 ×1
python-3.x ×1
python-c-api ×1
pytz ×1
rgb ×1
timezone ×1