草庐IT

Xmacro-settings

全部标签

Python 和 d-bus : How to set up main loop?

我对python和dbus有疑问。我查看了开发人员文档和规范,但我不明白如何设置主循环。我想听通知事件。见http://dbus.freedesktop.org/doc/dbus-python/doc/和http://www.galago-project.org/specs/notification/0.9/index.html我的示例脚本:importdbusfromdbus.mainloop.glibimportDBusGMainLoopclassMessageListener:def__init__(self):DBusGMainLoop(set_as_default=True)

c++ - Python 等效于 std::set 和 std::multimap

我正在将C++程序移植到Python。它在某些地方使用std::set来存储定义自己的比较运算符的对象。由于Python标准库没有std::set的等价物(一种排序的键值映射数据结构),我尝试使用普通字典,然后在迭代时对其进行排序,如下所示:def__iter__(self):items=self._data.items()items.sort()returniter(items)但是,分析表明从.sort()到__cmp__的所有调用都是一个严重的瓶颈。我需要一个更好的数据结构——本质上是一个排序的字典。有谁知道现有的实现?如果做不到这一点,关于我应该如何实现这个的任何建议?读取性能

python - Pandas 的 ValueError : setting an array element with a sequence.

我有一个名为output的Pandas数据框。基本问题是我想使用ix函数将dataframe中的某一行、列设置为一个列表,并得到ValueError:settinganarray带有序列的元素。我的理解是数据框元素就像一个列表元素,它可以容纳任何东西(字符串、列表、元组等)。我说的不对吗?基本设置:importpandasaspdoutput=pd.DataFrame(data=[[800.0]],columns=['SoldCount'],index=['Project1'])printoutput.ix['Project1','SoldCount']#->800工作正常:outpu

python - 数据框 set_index 未设置

我有一个数据框,正在尝试将索引设置为“时间戳”列。目前索引只是一个行号。时间戳格式的一个例子是:2015-09-0316:35:00我试过设置索引:df.set_index('Timestamp')我没有收到错误,但是当我打印数据框时,索引仍然是行号。如何使用时间戳作为索引? 最佳答案 您需要指定inplace=True,或将结果分配给变量。尝试:df.set_index('Timestamp',inplace=True,drop=True)基本上,在设置索引时,您可能需要做两件事。一个是new_df=old_df.set_inde

python - 错误 : Setting an array element with a sequence. Python/Numpy

我在尝试将数组分配给另一个数组特定位置时收到此错误。在创建简单列表并进行此类分配之前,我正在这样做。但是Numpy比简单的列表更快,我现在正在尝试使用它。问题是因为我有一个存储一些数据的2D数组,并且在我的代码中,例如,我要计算每个位置值的梯度,所以我创建了另一个2D数组,其中每个位置存储其梯度值(value)。importnumpyasnpcols=2rows=3#Thisworksmatrix_a=[]foriinrange(rows):matrix_a.append([0.0]*cols)printmatrix_amatrix_a[0][0]=np.matrix([[0],[0]

python - 性能比较 : insert vs build Python set operations

在python中,是否更快a)从n个项目的列表构建一个集合b)将n个项目插入集合中?我找到了这个页面(http://wiki.python.org/moin/TimeComplexity),但它没有足够的信息来断定哪个更快。看起来,一次插入一个项目在最坏的情况下可能需要O(n*n)时间(假设它使用字典),而在平均情况下则需要O(n*1)。使用列表初始化集合是否可以提高性能? 最佳答案 就O()复杂度而言-它绝对相同,因为两种方法完全相同-将n项插入集合。差异来自实现:从可迭代对象初始化的一个明显优势是您可以节省大量Python级函数

Python 元类 : Why isn't __setattr__ called for attributes set during class definition?

我有以下python代码:classFooMeta(type):def__setattr__(self,name,value):printname,valuereturnsuper(FooMeta,self).__setattr__(name,value)classFoo(object):__metaclass__=FooMetaFOO=123defa(self):pass我希望元类的__setattr__被FOO和a调用。但是,它根本没有被调用。当我在定义类后将某些内容分配给Foo.whatever时,方法被调用。这种行为的原因是什么?有没有办法拦截在创建类期间发生的分配?在__ne

python - 遍历 pandas 数据帧并更新值 - AttributeError : can't set attribute

我正在尝试遍历pandas数据框并在满足条件时更新值,但出现错误。forline,rowinenumerate(df.itertuples(),1):ifrow.Qty:ifrow.Qty==1androw.Price==10:row.Buy=1AttributeError:can'tsetattribute 最佳答案 首先在pandas中迭代是可能的,但非常慢,因此使用了另一种矢量化解决方案。我想你可以使用iterrows如果你需要迭代:foridx,rowindf.iterrows():ifdf.loc[idx,'Qty']==

python - scipy 优化 fmin ValueError : setting an array element with a sequence

当使用scipy.optimize的fmin时,我收到一个我不明白的错误:ValueError:settinganarrayelementwithasequence.这里有一个简单的平方误差示例来演示:importnumpyasnpfromscipy.optimizeimportfmindefcost_function(theta,X,y):m=X.shape[0]error=X.dot(theta)-yJ=1/(2*m)*error.T.dot(error)returnJX=np.array([[1.,1.],[1.,2.],[1.,3.],[1.,4.]])y=np.array([

python - 属性错误 : '_socketobject' object has no attribute 'set_tlsext_host_name'

在python中,在Ubuntu服务器上,我试图让requests库发出https请求,如下所示:importrequestsrequests.post("https://example.com")首先,我得到了以下信息:/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90:InsecurePlatformWarning:AtrueSSLContextobjectisnotavailable.Thispreventsurllib3fromconfiguringSSLappropr