有没有办法,使用pandas,构建一个Timestamp基于3输入:
在那个特定的例子中,结果将是 Timestamp('2010-01-18')
任何人都有一个聪明的方法来实现这一目标?
我们以这个简单的数据集为例:
example_set = pd.DataFrame(data = {"dirr":[1,0,-1,-1,1,-1,0],
"value": [125,130,80,8,150,251,18],
"result":[np.NaN for _ in range(7)]})
Run Code Online (Sandbox Code Playgroud)
以下行返回 error:invalid syntax
example_set["result"].apply(lambda x : example_set["value"]if x["dirr"]==1)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?如果没有,请不要提出如何做到的解决方案lambda:这只是我为弥补我的问题而做出的一个超级简化的例子.
我试图在python中创建以下列表列表(理想情况下与Numpy或Pandas):
[[0,1,2,3,4,5],[1,2,3,4,5],[2,3,4,5],[3,4,5],[4,5],[5]].
任何人都想知道如何快速实现这一目标?
我正在尝试使用装饰器实现自定义记录器,该装饰器将通过以下方式收集异常(稍后将它们保存到数据库):
import functools
class Log:
def __init__(self):
self.mssg = ""
self.err = ""
class Parent:
def __init__(self):
self.logger = Log()
def logging(fun):
@functools.wraps(fun)
def inner(*args):
try:
print(fun.__name__)
self.logger.mssg += fun.__name__ +" :ok, "
return fun(*args)
except Exception as e:
self.logger.err += fun.__name__ +": error: "+str(e.args)
return inner
logging = staticmethod(logging)
class Child(Parent):
def __init__(self, a, b):
self.a = a
self.b = b
@Parent.logging
def sum_(self):
return self.a + self.b
Run Code Online (Sandbox Code Playgroud)
然而,装饰器似乎“破坏”了方法和实例之间的链接,因为它不能再使用 self...运行时
c = Child(3,6)
c.sum_()
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,self is not defined …
在Jupyter Notebook中,我可以看到多行注释三元组引用如下:
''' multi
lines
commented
out'''
Run Code Online (Sandbox Code Playgroud)
将打印在[out]单元格中.
有没有办法防止这种情况发生?(即没有在输出中打印出注释掉的行?