小编Fed*_*ese的帖子

Python循环遍历列表以在asyncio中获取api调用并保存结果

我还不完全理解 asyncio 和 aiohttp 是如何工作的。

我正在尝试从 URL 列表中发出一堆异步 api 请求,并将它们保存为变量,以便稍后处理它们。

到目前为止,我正在生成没有问题的列表并设置请求框架。

urls = []
for i in range(0,20):
    urls.append('https://api.binance.com/api/v1/klines?symbol={}&interval= 
    {}&limit={}'.format(pairs_list_pairs[i],time_period,
            pull_limit))

import asyncio
import aiohttp


async def request(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as resp:
            return await resp.text()


async def main():
    results = await asyncio.gather(
             request(urls[0]),
             request(urls[1]),
    )
    print(len(results))
    print(results)



loop = asyncio.get_event_loop()
try:
    loop.run_until_complete(main())
    loop.run_until_complete(loop.shutdown_asyncgens())
finally:
    loop.close()
Run Code Online (Sandbox Code Playgroud)

如果我使用索引手动一一输入我的请求(如下所示),我就可以发出请求。但问题是我的列表中有超过 100 个 api 请求,我不想手动输入这些请求。如何迭代我的列表?另外,如何将结果保存到变量中?当脚本结束时,它不会在任何地方保存“结果”。

async def main():
    results = await asyncio.gather(
             request(urls[0]),
             request(urls[1]),
    )
    print(len(results))
    print(results)
Run Code Online (Sandbox Code Playgroud)

下面是一些复制代码的示例 URL: …

python request python-asyncio aiohttp

6
推荐指数
1
解决办法
4334
查看次数

Pandas TypeError:转换函数对于按组进行最大计算的数据类型无效

我正在从相对较新的 R 切换到 python。

我正在尝试完成一项非常简单的任务,稍后会变得更加复杂。

我试图按组获取最大值,在本例中组为“符号”,并使用“ClosePrice”列中的最大值创建一个新列。

我正在使用 groupby 和转换:

proccessing_data['Max'] = proccessing_data.groupby('Symbol').transform(lambda x: x.ClosePrice.max(), axis =1)
Run Code Online (Sandbox Code Playgroud)

并返回以下错误:

TypeError: Transform function invalid for data types
Run Code Online (Sandbox Code Playgroud)

我的最终目标实际上是使用转换中的函数:

proccessing_data['RSI'] = proccessing_data.groupby('Symbol').transform(lambda x: talib.RSI(x["ClosePrice"], timeperiod=14), axis =1)
Run Code Online (Sandbox Code Playgroud)

但这会返回相同的错误。

RI使用参考:

proccessing_data$RSI_SMA <- ave(proccessing_data$ClosePrice, proccessing_data$Symbol,
                            FUN = function(x) RSI(x,n = 14, maType = "SMA"))
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢!

python typeerror pandas pandas-groupby

1
推荐指数
1
解决办法
4789
查看次数