下面的示例仅将 1 个元素添加到事件循环中,并使用变量asins。
asyncio.exceptions.TimeoutError当asins下面的参数为 180 个元素或更长时,我收到错误。
如果我创建包含这 180 个元素中的任何一个的列表,我会得到成功的响应,这告诉我下面的问题与 API 无关。
谁能告诉我如何解决这个问题?谢谢你!
import asyncio
import aiohttp
import sys
import pandas as pd
def create_params(asins_set):
params = []
for asin in asins_set:
param = {
'api_key': '...',
'type': 'product',
'amazon_domain': 'amazon.com',
'asin': asin,
}
params.append(param)
return params
if sys.version_info[0] == 3 and sys.version_info[1] >= 8 and sys.platform.startswith('win'):
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
# creates a list of tasks to add to the event loop at once
def get_tasks(session, params):
tasks …Run Code Online (Sandbox Code Playgroud) 我的 IDE 昨晚运行良好。我在不同的目录中为完全不同的应用程序创建了一个 launch.json 文件,但后来将其删除。
我的代码仍然可以正确处理。
我的虚拟环境是相同的 - 我安装的所有软件包(pandas、numpy 等)都被 Pylance 识别。我导入的模块是问题所在。
我尝试导入的模块都是 .py 文件,都与我正在运行的 app.py 文件位于同一目录中,并且正常运行,就像它们一样。
正在导入的几个模块也会相互导入,并且每个模块也会出现问题。
我尝试卸载并重新安装 Python 和 Pylance 扩展,然后重新启动计算机,但出现了同样的问题。
我缺少什么?
我理解为什么第一个查询需要 a GROUP BY,因为它不知道将总和应用到哪个日期,但我不明白为什么第二个查询会出现这种情况。最终最大金额的值已包含在表中 - 它不是按原样计算的SUM。谢谢
-- First Query
select
sum(OrderSales),OrderDates
From Orders
-- Second Query
select
max(FilmOscarWins),FilmName
From tblFilm
Run Code Online (Sandbox Code Playgroud) 根据下面的代码,我希望“duplicate”列的第一个元素返回“True”,因为它存在于“df_set”中。这是针对更大的数据集,因此使用转换为集合......
我做错了什么导致“重复”的第一个元素返回“False”?
import numpy as np
import pandas as pd
data = [
['tom', 'juli'],
['nick', 'heather'],
['juli', 'john'],
['dustin', 'tracy']
]
columns = ['Name', 'Name2']
df = pd.DataFrame(data, columns = columns)
df_set = set(df['Name'])
df['duplicate'] = np.isin(df['Name2'], df_set, assume_unique=True)
print(df)
Run Code Online (Sandbox Code Playgroud)
输出:
Name Name2 duplicate
0 tom juli False
1 nick heather False
2 juli john False
3 dustin tracy False
Run Code Online (Sandbox Code Playgroud)