我有一个系列,如下所示:
example = pd.Series([[1.0, 1209.75, 1207.25],
[1.0, 1211.0, 1207.5],
[-1.0, 1211.25, 1205.75],
[0, 1207.25, 1206.0],
[1.0, 1206.25, 1201.0],
[-1.0, 1205.75, 1202.75],
[0, 1205.5, 1203.75]])
Run Code Online (Sandbox Code Playgroud)
这个系列基本上在每个单元格中有一个包含 3 个数字的列表。我把它变成一个 DataFrame 并添加一个新列:
example = example.to_frame(name="input")
example["result"]=np.NaN
Run Code Online (Sandbox Code Playgroud)
现在我想对其执行以下操作:
example["result"] = example["input"].apply(lambda x,y,z: y if x==1 else z if x==-1 else NaN)
Run Code Online (Sandbox Code Playgroud)
尝试执行此操作时收到以下错误消息:
missing 2 required positional arguments: 'y' and 'z'
让我们考虑以下包含异步循环和异步协程的类示例:
import asyncio
class Async:
def __init__(self):
self.loop=asyncio.get_event_loop()
async def function(self, word):
print(word)
await asyncio.sleep(1.0)
a=Async()
a.loop.run_until_complete(a.function("hello_world"))
Run Code Online (Sandbox Code Playgroud)
这确实有效。
我想创建一个装饰器,以便我可以简化调用代码的function语法
a.function("hello_world")
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
class Async:
def __init__(self):
self.loop=asyncio.get_event_loop()
def async_loop(f):
def decorated(*args, **kwargs):
self.loop.run_until_complete(f(*args, **kwargs))
@async_loop
async def function(self, word):
print(word)
await asyncio.sleep(1.0)
a=Async()
a.function("hello_world")
Run Code Online (Sandbox Code Playgroud)
此时我收到错误:'NoneType' object is not callable。- 我也尝试在类之外使用装饰器函数,但我得到了同样的错误。我不确定装饰器函数最好位于类内部(作为方法)还是外部。我对 python 还很陌生,所以 Asyncio、装饰器和类中的装饰器对我来说仍然很困惑。任何好心人都会知道如何正确地编写该代码吗?
我正在尝试使用requests和BeautifulSoup/来抓取以下页面Lxml
https://www.reuters.com/search/news?blob=soybean&sortBy=date&dateRange=all
这是一种带有load more results按钮的页面。我找到了几页解释如何执行此操作的页面,但不在requests.
我知道我应该多花几个小时研究这个问题,然后再在这里提问,以证明我已经尝试过。
我试图查看检查窗格、网络选项卡等,但我对了解如何与 javascript 交互的请求仍然有点太新鲜了。
我不需要完全成熟的脚本/解决方案作为答案,只需要一些关于如何使用 完成这项非常典型任务的指示requests,以节省我宝贵的研究时间。
提前致谢。
我有一个字符串,我在其中使用字符串格式:
'SELECT {} FROM {} WHERE country={} AND \{\}'.format("apples", "tables","home")
目前这不起作用; 如何转义{和}以便字符串打印:
SELECT apples FROM tables WHERE country=home AND {}
Run Code Online (Sandbox Code Playgroud)
?
基本上我正在尝试实现一个时序装饰器:
def laptime(func):
def inner(*args):
start = time.time()
r = func(*args)
print time.time()-start
return r
@laptime
def loop(a,b):
for i in range(a,b):
print (i)
loop(2, 1000)
Run Code Online (Sandbox Code Playgroud)
我尝试了许多方法让它起作用,但它们都返回了我不理解的有趣结果......我知道关于SO的主题还有其他多个问题,但不知怎的,它们对我来说没有任何帮助掌握如何做到这一点.
为什么以下表达式(旨在删除dict中的多个键)无效?(event是一个字典)
[del event[key] for key in ['selected','actual','previous','forecast']]
Run Code Online (Sandbox Code Playgroud)
替换它的最小表达式是什么?
我知道网站上有很多问题,但我阅读的十几个未能解决这个简单的问题:
for df, ind_source in ["df1", "df2", "df3"], ["investingcom", "bloomberg", "ft"]:
print(df+" "+ind_source)
Run Code Online (Sandbox Code Playgroud)
返回错误值: too many values to unpack (expected 2)
这个问题的解决方案是什么?
我有一个列表如下:
list1 = ["pierre", "paul", "jacques"]
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含6个项目的新列表:
list2 = ["pierre", "pierre#2","paul","paul#2", "jacques", "jacques#2"]
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
list2 = [i, "{}#2".format(i) for i in list1 ]
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.有人会有什么建议吗?
使用Python和sqlalchemy:
如何使用元组通过WHERE ... IN子句实现以下MySQL语句?
SELECT * FROM mytable WHERE (symbol, volume) IN (('ES', 238 ),('GB', 500 ),('OH', 800 ));
在sqlalchemy 核心中(即不是 ORM版本)
我查看了文档,并且通常在SO / google上浏览,这无处可寻...
我最近开始使用 Vim,刚刚安装了 NERDTree(一个用于导航文件的插件)。访问该插件的命令是:NERDTree这样的,尽管通过为该命令分配一个来开始学习映射是一个好主意。
所以我在我的.vimrc文件中添加了以下行:map :nt :NERDTree- 但是当我输入:ntvim 文件时(即使在重新启动后),我收到以下错误消息:not an editor command: nt
我还尝试在通过键入编辑文件时直接添加映射,:map :nt :NERDTree但是当我尝试使用该命令时它返回了相同的错误。
我检查了那个答案:vim 中的 remap、noremap、nnoremap 和 vnoremap 映射命令有什么区别?,所以在我看来:map(反对noremap等)是最好的命令。
输入原始命令时,该插件工作正常。
我究竟做错了什么?(抱歉菜鸟问题)