javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

python 2.7-TypeError:无法执行灵活类型的减少

我一直在使用scikit-learn库。 我正在尝试在scikit-learn库下使用高斯朴素贝叶斯模块,但遇到了以下错误。 TypeError:无法使用灵活类型执行归约

下面是代码片段。

training = GaussianNB()
training = training.fit(trainData, target)
prediction = training.predict(testData)

这是目标

['ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'ALL', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML', 'AML']

这是trainData

[['-214' '-153' '-58' ..., '36' '191' '-37']
['-139' '-73' '-1' ..., '11' '76' '-14']
['-76' '-49' '-307' ..., '41' '228' '-41']
..., 
['-32' '-49' '49' ..., '-26' '133' '-32']
['-124' '-79' '-37' ..., '39' '298' '-3']
['-135' '-186' '-70' ..., '-12' '790' '-10']]

下面是堆栈跟踪

Traceback (most recent call last):
File "prediction.py", line 90, in <module>
  gaussianNaiveBayes()
File "prediction.py", line 76, in gaussianNaiveBayes
  training = training.fit(trainData, target)
File "/Library/Python/2.7/site-packages/sklearn/naive_bayes.py", line 163, in fit
  self.theta_[i, :] = np.mean(Xi, axis=0)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/ core/fromnumeric.py", line 2716, in mean
  out=out, keepdims=keepdims)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/_methods.py", line 62, in _mean
  ret = um.add.reduce(arr, axis=axis, dtype=dtype, out=out, keepdims=keepdims)
TypeError: cannot perform reduce with flexible type
trans by 2020-02-22T23:07:12Z

使用需要承载令牌的API在Python中进行API调用

在将JSON API调用集成到Python程序中寻求帮助。

我希望将以下API集成到Python .py程序中,以允许调用它并打印响应。

API指南指出,必须生成承载令牌才能允许对API的调用,这已经成功完成。 但是,我不确定在Python API请求中将此令牌作为承载令牌身份验证包括在内的语法。

我可以使用带有标记的cURL成功完成上述请求。 我已经尝试过“ urllib”和“ requests”路由,但都无济于事。

完整的API详细信息:IBM X-Force Exchange API文档-IP信誉

trans by 2020-02-20T22:06:22Z

Python可以腌制lambda函数吗?

我已经阅读了许多线程,Python pickle/cPickle无法腌制lambda函数。 但是,以下代码使用Python 2.7.6可以工作:

import cPickle as pickle

if __name__ == "__main__":
    s = pickle.dumps(lambda x, y: x+y)
    f = pickle.loads(s)
    assert f(3,4) == 7

那么发生了什么? 或者,腌制lambda的极限是多少?

[编辑]我想我知道为什么这段代码运行。 我忘了(对不起!)我正在运行无堆栈python,它具有一种称为tasklet的微线程形式,用于执行功能。 这些小任务可以被暂停,腌制,未腌制和继续进行,因此我猜(在无堆栈邮件列表中询问)它也提供了一种腌制函数体的方法。

trans by 2020-02-19T13:58:05Z

python-如何指定Tkinter窗口的打开位置?

如何根据屏幕尺寸告诉Tkinter窗口打开的位置? 我希望它在中间打开。

trans by 2020-02-19T03:14:06Z

python-执行元组算术的优雅方法

在Python 2.7中执行元组算术的最优雅,简洁的方法(不使用运算符重载创建自己的类)是什么?

可以说我有两个元组:

a = (10, 10)
b = (4, 4)

我的预期结果是

c = a - b = (6, 6)

我目前使用:

c = (a[0] - b[0], a[1] - b[1])

我也尝试过:

c = tuple([(i - j) for i in a for j in b])

但是结果是(6, 6, 6, 6)。我相信上面的代码作为嵌套的for循环工作,导致4次迭代和4个值。

trans by 2020-02-18T15:10:57Z

我安装了2个版本的python,但是cmake使用的是旧版本。 如何强制cmake使用较新的版本?

I have 2 versions of python installed, but cmake is using older version. How do I force cmake to use the newer version?

trans by 2020-02-18T05:27:43Z

python-无法在AWS Lambda上使用Requests-Module

我需要在每天运行一次的python脚本中进行一次调用。我无法使用AWS Lambda将“ requests”包打包到我的python-package中。 我收到错误消息:“无法导入模块'lambda_function':没有名为lambda_function的模块”

我将其分解为hello_world预定义脚本。 我可以将其打包成一个zip并上传。 一切正常。 一旦将“导入请求”放入文件中,就会出现此错误。

这是我已经做过的:

  1. zip和项目文件夹(包括子文件夹)的权限设置为“ chmod 777”。 因此权限应该不是问题。
  2. 脚本本身在根文件夹中。 打开zip文件时,您可以直接看到它。
  3. 我使用`sudo pip install requests -t PATH_TO_ROOT_FOLDER`将请求包安装到项目的根文件夹中。

一切的命名看起来像这样:

  • 压缩文件:lambda_function.zip
  • py文件:lambda_function.py
  • 处理程序方法:lambda_handler(事件,上下文)
  • “ webconfig”中的处理程序定义:lambda_function.lambda_handler

我最终要运行的文件如下所示:

import requests
import json


def lambda_handler(event, context):
    url = 'xxx.elasticbeanstalk.com/users/login'
    headers = {"content-type": "application/json", "Authorization": "Basic Zxxxxxxxxx3NjxxZxxxxzcw==" }
    response = requests.put(url, headers=headers, verify=False)
    return 'hello lambda_handler'

我很高兴能提供任何帮助。 我已经在这个问题上使用了多个小时。

trans by 2020-02-16T20:49:45Z

Python:Pandas pd.read_excel提供ImportError:为Excel supp安装xlrd> = 0.9.0

我正在尝试读取带有熊猫的.xlsx,但出现以下错误:

data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0) 

Traceback (most recent call last):
  File "/Users/Vineeth/PycharmProjects/DataAnalysis1/try1.py", line 9, in <module>
    data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/util/_decorators.py", line 118, in wrapper
    return func(*args, **kwargs)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 230, in read_excel
    io = ExcelFile(io, engine=engine)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 263, in __init__
    raise ImportError(err_msg)
ImportError: Install xlrd >= 0.9.0 for Excel support

我也尝试过

data = pd.read_excel("DataAnalysis1/temp1.xlsx", low_memory=False).fillna(value=0)

而且我仍然遇到相同的错误。

背景:我正在尝试提取具有多个工作表的excel文件作为数据帧的字典。我安装了xlrd版本0.9.0和最新版本(1.1.0),但仍然遇到相同的错误。 谢谢!

trans by 2020-02-15T21:17:12Z

我如何将io.StringIO()与csv模块一起使用?

我试图将Python 3程序反向移植到2.7,但遇到了一个奇怪的问题:

>>> import io
>>> import csv
>>> output = io.StringIO()
>>> output.write("Hello!")            # Fail: io.StringIO expects Unicode
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unicode argument expected, got 'str'
>>> output.write(u"Hello!")           # This works as expected.
6L
>>> writer = csv.writer(output)       # Now let's try this with the csv module:
>>> csvdata = [u"Hello", u"Goodbye"]  # Look ma, all Unicode! (?)
>>> writer.writerow(csvdata)          # Sadly, no.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unicode argument expected, got 'str'

根据文档,StringIO.StringIO()返回Unicode文本的内存流。 当我尝试手动输入Unicode字符串时,它可以正常工作。 即使写入的所有字符串都是Unicode字符串,为什么它也不能与StringIO.StringIO()模块一起失败? io.StringIO()的异常源于何处?

(我知道我可以改用StringIO.StringIO(),但是我想知道在这种情况下io.StringIO()怎么了)

trans by 2020-02-15T12:13:12Z

TypeError:super()至少接受1个参数(给定0个)错误是特定于任何python版本的吗?

我收到这个错误

TypeError:super()至少接受1个参数(给定0)

在python2.7.11上使用以下代码:

class Foo(object):
    def __init__(self):
        pass

class Bar(Foo):
    def __init__(self):
        super().__init__()

Bar()

使它起作用的解决方法是:

class Foo(object):
    def __init__(self):
        pass

class Bar(Foo):
    def __init__(self):
        super(Bar, self).__init__()

Bar()

似乎语法是特定于python 3的。那么,在2.x和3.x之间提供兼容代码并避免发生此错误的最佳方法是什么?

trans by 2020-02-15T03:47:01Z

如何在Python中解析对变量的引用

该消息有很多示例,但是有点长,但是我希望将帮助我和其他人更好地掌握变量的全部内容和Python 2.7中的属性查找。

我正在使用PEP 227的条款([http://www.python.org/dev/peps/pep-0227/)]用于代码块(例如模块,类定义,函数定义等)和变量绑定(例如赋值,参数声明,类和函数声明,for循环等)

我将术语变量用于可以不使用点和需要用对象限定的名称的属性名称(例如obj.x作为对象obj的属性x)。

Python中所有代码块都有三个作用域,但有以下功能:

  • 本地
  • 全球
  • 内建

Python中有四个仅用于功能的块(根据(PEP 227):

  • 本地
  • 封闭功能
  • 全球
  • 内建

将变量绑定到块中并在其中查找的规则是非常简单:

  • 变量与块中对象的任何绑定都会使该变量局部变量,除非变量声明为全局变量(在该变量中变量属于全局范围)
  • 使用规则LGB(本地,全局的,内置的)所有块,但功能
  • 使用规则LEGB(本地,封闭的,全局的,内置的)。

让我知道一些验证此规则的示例,并展示了许多特别案例。 对于每个示例,我都会给出自己的理解。 请如果我错了,请纠正我。 对于最后一个示例,我不了解结果。

范例1:

x = "x in module"
class A():
    print "A: "  + x                    #x in module
    x = "x in class A"
    print locals()
    class B():
        print "B: " + x                 #x in module
        x = "x in class B"
        print locals()
        def f(self):
            print "f: " + x             #x in module
            self.x = "self.x in f"
            print x, self.x
            print locals()

>>>A.B().f()
A: x in module
{'x': 'x in class A', '__module__': '__main__'}
B: x in module
{'x': 'x in class B', '__module__': '__main__'}
f: x in module
x in module self.x in f
{'self': <__main__.B instance at 0x00000000026FC9C8>}

类(规则LGB)没有嵌套作用域,如果不使用,则类无法访问该类的属性限定名称(在此示例中为self.x)。 这在以下内容中有很好的描述PEP227。

范例2:

z = "z in module"
def f():
    z = "z in f()"
    class C():
        z = "z in C"
        def g(self):
            print z
            print C.z
    C().g()
f()
>>> 
z in f()
z in C

这里使用LEGB规则查找函数中的变量,但是如果路径中有一个类,则跳过类参数。 又是在这里,这就是PEP 227正在解释的内容。

范例3:

var = 0
def func():
    print var
    var = 1
>>> func()

Traceback (most recent call last):
  File "<pyshell#102>", line 1, in <module>
func()
  File "C:/Users/aa/Desktop/test2.py", line 25, in func
print var
UnboundLocalError: local variable 'var' referenced before assignment

我们期望使用诸如python这样的动态语言来处理一切动态解决。 但这不是函数的情况。 本地变量在编译时确定。 PEP 227和[http://docs.python.org/2.7/reference/executionmodel.html]描述了这一点这样的行为

“如果名称绑定操作发生在代码块内的任何地方,块中名称的使用被视为对当前块。”

示例4:

x = "x in module"
class A():
    print "A: " + x
    x = "x in A"
    print "A: " + x
    print locals()
    del x
    print locals()
    print "A: " + x
>>> 
A: x in module
A: x in A
{'x': 'x in A', '__module__': '__main__'}
{'__module__': '__main__'}
A: x in module

但是我们在这里看到,PEP227中的此声明“如果名称绑定该操作在代码块内的任何位置进行,使用该名称的所有方式该块中的内容被视为对当前块的引用。” is当代码块为类时出错。 而且,对于班级,似乎本地名称绑定不是在编译时进行的,而是在使用类名称空间执行。 在这方面,PEP227和Python文档中的执行模型具有误导性,并且有些零件错了。

范例5:

x = 'x in module'
def  f2():
    x = 'x in f2'
    def myfunc():
        x = 'x in myfunc'
        class MyClass(object):
            x = x
            print x
        return MyClass
    myfunc()
f2()
>>> 
x in module

我对这段代码的理解如下。 指令x = x首先查找表达式右手x所指的对象至。 在这种情况下,将在类中本地查找对象,然后遵循LGB规则,它将在全局范围内查找字符串“ x in module”。 然后,MyClass的局部属性x为在类字典中创建并指向字符串对象。

范例6:

现在这是一个我无法解释的例子。它与示例5非常接近,我只是在更改本地MyClass从x到y的属性。

x = 'x in module'
def  f2():
    x = 'x in f2'
    def myfunc():
        x = 'x in myfunc'
        class MyClass(object):
            y = x
            print y
        return MyClass
    myfunc()
f2()
>>>
x in myfunc

在这种情况下,为什么要在MyClass中查找x引用最内在的功能?

trans by 2020-02-14T07:57:09Z

Python OrderedDict不保留元素ord

这个问题已经在这里有了答案:

  • 将dict转换为OrderedDict                                     4个答案

我正在尝试创建一个OrderedDict对象,但我不会立即创建它,否则所有元素都会混乱。

这是我的工作:

from collections import OrderedDict
od = OrderedDict({(0,0):[2],(0,1):[1,9],(0,2):[1,5,9]})

元素不按我分配的顺序排列

od
OrderedDict([((0, 1), [1, 9]), ((0, 0), [2]), ((0, 2), [1, 5, 9])])

docs.python.org没有示例,我无法弄清楚订单为何变得混乱。 任何帮助是极大的赞赏。

trans by 2020-02-11T22:44:50Z

macos-在Mac OS X上的python 2.7和python 3.5之间切换

我通常使用Python 2.7,但最近在Mac OS X上使用Miniconda安装了Python 3.5。这两个版本的python安装了不同的库。 现在,在终端中输入关键字“ python”或“ python3”会调用python 3.5,而“ python2”将返回“ -bash:python2:not found”。 现在如何分别分别使用别名“ python2”和“ python3”来调用它们?

我目前正在使用OS X El Capitan。

trans by 2020-02-11T14:27:17Z

python 2.7-使用代理运行conda

我在Windows上使用Anaconda 2.7,并且我的互联网连接使用代理。

以前,当使用python 2.7(Not Anaconda)时,我安装的软件包如下:

pip install {packagename} --proxy proxy-us.bla.com:123

有没有一种方法可以使用proxy参数运行conda? 在conda help中没有看到它。

谢谢

trans by 2020-02-10T21:10:36Z

使用python PIL将RGB图像转换为纯黑白图像

我正在使用Python Imaging Library进行一些非常简单的图像操作,但是在将灰度图像转换为单色(黑白)图像时遇到了麻烦。 如果在将图像更改为灰度(convert('L'))之后保存,则图像将按照您的期望进行渲染。 但是,如果我将图像转换为单色,单波段图像,则会产生噪声,如下图所示。 有没有一种简单的方法可以使用PIL / python将彩色png图像转换为纯黑白图像?

from PIL import Image 
import ImageEnhance
import ImageFilter
from scipy.misc import imsave
image_file = Image.open("convert_image.png") # open colour image
image_file= image_file.convert('L') # convert image to monochrome - this works
image_file= image_file.convert('1') # convert image to black and white
imsave('result_col.png', image_file)

Original Image Converted Image

trans by 2020-02-10T01:26:14Z

python忽略证书验证urllib2

我想通过内部公司链接向服务器发出请求时忽略certification validation

使用python requests库,我会这样做:

r = requests.get(link, allow_redirects=False,verify=False)

如何使用urllib2库做同样的事情?

trans by 2020-02-09T06:27:58Z

尝试修改单个值时,二维列表具有奇怪的行为

可能重复:
Python清单清单中的非预期功能

因此,我是Python的新手,无法使用2D列表。

这是我的代码:

data = [[None]*5]*5
data[0][0] = 'Cell A1'
print data

这是输出(为便于阅读而格式化):

[['Cell A1', None, None, None, None],
 ['Cell A1', None, None, None, None],
 ['Cell A1', None, None, None, None],
 ['Cell A1', None, None, None, None],
 ['Cell A1', None, None, None, None]]

为什么为每一行分配值?

trans by 2020-02-06T01:43:39Z

蟒蛇-Anaconda网站软件包

在anaconda环境中安装软件包后,我想对该软件包中的代码进行一些更改。

在哪里可以找到包含已安装软件包的site-packages目录? 我找不到目录/Users/username/anaconda/lib/python2.7/site-packages

trans by 2020-02-05T15:13:59Z

使用类与函数的Python装饰器最佳实践

据我了解,有两种方法可以使用Python装饰器,即使用类的2732224205206066062080或定义并调用函数作为装饰器。 这些方法的优点/缺点是什么? 有一种首选的方法吗?

例子1

class dec1(object):
    def __init__(self, f):
        self.f = f
    def __call__(self):
        print "Decorating", self.f.__name__
        self.f()

@dec1
def func1():
    print "inside func1()"

func1()

# Decorating func1
# inside func1()

例子2

def dec2(f):
    def new_f():
        print "Decorating", f.__name__
        f()
    return new_f

@dec2
def func2():
    print "inside func2()"

func2()

# Decorating func2
# inside func2()
trans by 2020-02-04T04:36:07Z

解析字符串中的元组?

假设我有一个与元组具有相同形式的字符串,例如,应为2731674836207666666176。将其转换为实际元组的最简单方法是什么? 我想做的一个例子是:

tup_string = "(1,2,3,4,5)"
tup = make_tuple(tup_string)

只需在字符串上运行tuple(),就可以将整个事情变成一个大元组,而我想做的就是将字符串理解为元组。 我知道我可以为此使用正则表达式,但是我希望有一种更便宜的方法。 有想法吗?

trans by 2020-02-03T19:30:18Z

1 2 3 4 5 6 7 8 9 10 11 下一页 共11页