我想将一个函数应用于dict中的所有值,并将其存储在单独的dict中.我只是想看看我如何使用python并想看看如何重写这样的东西
for i in d:
d2[i] = f(d[i])
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
d2[i] = f(d[i]) for i in d
Run Code Online (Sandbox Code Playgroud)
编写它的第一种方式当然很好,但我试图弄清楚如何改变python语法
我下的印象,一个不能使用erase上const iterator.检查此代码.
为什么以下代码编译(C++ 11,gcc)?
long getMax(const bool get_new)
{
long max_val=0;
TO now=getNow();
map<TO, long>& m=get_new?m_new:m_old;
for(auto it=m.cbegin(); it !=m.cend())
{
if(now.compareTime((*it).first)<lookback)
{
max_val=max(max_val,
(*it).second);
++it;
}
else
{
it=m.erase(it);
}
}
return max_val;
}
Run Code Online (Sandbox Code Playgroud)
该地图本身不是恒定的,但我的理解是,const iterator应该使这一失败.
我正在寻找一种快速而简洁的方式来打印一个漂亮的表格格式,正确对齐单元格.
在c ++中是否有一种方便的方法来创建具有一定长度的子串的字符串,如python格式
"{:10}".format("some_string")
Run Code Online (Sandbox Code Playgroud) 这实际上是2个问题.1)是否有通用的方法来获取实例的类名,所以如果我有一个类
class someClass(object):
Run Code Online (Sandbox Code Playgroud)
我想要一个内置的方式,给我一个字符串'someClass'
2)与功能相似.如果我有
def someFunction():
....
print builtinMethodToGetFunctionNameAsString
return
Run Code Online (Sandbox Code Playgroud)
它会打印'someFunction'
我正在寻找这个的原因是,我有一些类和子类的丛林和调试我想打印我的位置,所以对于所有方法我只想添加一些东西沿线
print 'Executing %s from %s' %(getFunctionName,getClassName)
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一个知道类和函数的通用命令,这样我就可以在所有方法中复制和粘贴该行,而无需为每个方法编写单独的行.
我有一个可向其中动态添加QTableWidgets的滚动视图。但是,QTables本身也具有滚动条,因此不会显示完整表。有没有一种方法可以禁用滚动条,以便始终显示完整的表格?
编辑:我添加了
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
Run Code Online (Sandbox Code Playgroud)
按照建议。滚动条确实消失了,但是它仍然只显示部分表格(Ican可以在表格上悬停并使用鼠标滚轮进行滚动)。窗口小部件的代码如下
from PySide.QtGui import *
from PySide.QtCore import *
class MdTable(QTableWidget):
def __init__(self, data, depth, *args):
QTableWidget.__init__(self, *args)
self.hheaders = ["c1", "c2", "c3", "c4"]
self.depth = depth
self.bids = data
self.setData()
def setData(self):
self.setRowCount(self.depth)
self.setColumnCount(5)
for i in xrange(self.depth):
if len(self.data) > i:
d1= QTableWidgetItem(str(self.data[i][0]))
d2= QTableWidgetItem(str(self.data[i][1]))
self.setItem(i, 1, d1)
self.setItem(i, 2, d2)
self.setHorizontalHeaderLabels(self.hheaders)
self.verticalHeader().setVisible(False)
self.resizeRowsToContents()
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
Run Code Online (Sandbox Code Playgroud) 当我有信号时,我确实有一个仅由某些值的水平线组成的图,否则没有。所以,我正在寻找一种没有垂直线的方法来绘制它。当没有信号时,线之间可能会有间隙,我不希望线连接,也不希望线掉到 0。有没有办法在 matplotlib 中绘制这样的图?
self.figure = plt.figure()
self.canvas = FigureCanvas(self.figure)
axes = self.figure.add_subplot(111)
axes.plot(df.index, df["x1"], lw=1.0, c=self.getColour('g', i), ls=ls)
Run Code Online (Sandbox Code Playgroud) 我有一张桌子
t: flip `S`V ! ((`$"|A|B|"; `$"|B|C|D|"; `$"|B|"); 1 2 3)
Run Code Online (Sandbox Code Playgroud)
和一些决定
t1: 4 10 15 20 ! 1 2 3 5;
t2: 4 10 15 20 ! 0.5 2 4 5;
Run Code Online (Sandbox Code Playgroud)
现在我需要在S中的子串和下面的函数中添加一个带有值的列(这是一个伪代码,因为我被困在这里).
f:{[s;v];
if[`A in "|" vs string s; t:t1;];
else if[`B in "|" vs string s; t:t2;];
k: asc key t;
:t k k binr v;
}
Run Code Online (Sandbox Code Playgroud)
问题是当我做类似的事情时,s和v作为完整的列向量传递
update l:f[S,V] from t;
Run Code Online (Sandbox Code Playgroud)
如何使这个按行工作?我怎样才能使它成为一个矢量化函数?谢谢
我模糊理解Python是按值分配的。有没有一种方法可以通过引用分配python变量?因此,在下面的示例中,它实际上将oa更改为2吗?
class myClass():
def __init__(self):
self.a = 1
def __str__(self):
_s = ''
for att in vars(self):
_s += '%s, %s' %(att, getattr(self,att))
return _s
o = myClass()
x = o.a
x = 2
print o
Run Code Online (Sandbox Code Playgroud) 我有一系列的日内测量。仅在工作日的白天进行测量。当我绘制数据时,pandas 将 xaxis 扩展到整个时间范围,因此该图显示了数据间隙
dfb.loc[:,("value", "exp_1")].plot()
Run Code Online (Sandbox Code Playgroud)
我可以告诉 pandas/matplotlib 忽略索引并且绘图很好,但我想在 x 轴上显示日期
dfb.loc[:,("value", "exp_1")].plot(ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
我还尝试用我的索引定义 xticks,但这导致第一个图表的 x 轴描述混乱
dfb.loc[:,("value", "exp_1")].plot(xticks=dfb.index)
Run Code Online (Sandbox Code Playgroud)
有没有办法在保持日期的同时获得像第二个图这样的图?
编辑:这是数据和情节的一个子集
我有一个pandas.core.frame.Pandas对象,需要根据其属性名称从中返回一个值。下面的代码有效
val = pandas_object.attr_name
Run Code Online (Sandbox Code Playgroud)
但是,我需要更改属性,所以我需要动态的东西,例如
val = pandas_object.get(attr_name)
Run Code Online (Sandbox Code Playgroud)
熊猫objecet没有getter函数,因为我收到以下错误
AttributeError: 'Pandas' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)
其他熊猫班似乎也有这种情况。http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.get.html
我找不到有关这种类型的Oaf Pandas对象的大量文档。有没有办法获得类似于.get()的值?
这是我的对象
Pandas(Index=0, Time_USec=Timestamp('2016-12-19 09:05:00.683243'), OrderId=0, Status='New')
Run Code Online (Sandbox Code Playgroud)
当我遵循adget使用getattr时,出现以下错误
print event.__getattr__("Time_USec")
Run Code Online (Sandbox Code Playgroud)
AttributeError:'Pandas'对象没有属性' getattr '
python ×5
c++ ×2
matplotlib ×2
pandas ×2
c++11 ×1
dictionary ×1
fmt ×1
formatting ×1
io ×1
iterator ×1
kdb ×1
pyqt ×1
pyside ×1
qtablewidget ×1
stdmap ×1