我的熊猫数据框有一百万行。我必须在每一行的函数中调用RESTAPI调用,并且需要捕获响应。每次休息通话平均需要2秒的时间。但我试过的以下案例非常缓慢
案例1:适用
def predict(x):
res = request("XYZ")
return res.json()
df['response_value'] = df.apply(lambda x:predict(x['request_filed']),axis=1)
案例2:矢量化而非应用
def predict(x):
l = []
for each in x
l.append(request("XYZ"))
return l
df['response_value'] = predict(df['request_filed']
案例3:并行应用
def predict(x):
res = request("XYZ")
return res.json()
df['response_value'] = df.parallel_apply(lambda x:predict(x['request_filed']),axis=1)
他们有没有更好的方法来加速这个过程
它不能超过每次API调用所花费的累计时间。因此,我的建议是,首先要做到:
然后将它们添加到您的df中:
这将是非常快的。这似乎是你能达到的最快速度
相关问题 更多 >
编程相关推荐