相关疑难解决方法(0)

遍历API调用的Pandas DataFrame的最快方法

我的目标是为Pandas DataFrame中的每一行调用一个API,该API在响应JSON中包含字符串列表,并创建一个新的DataFrame,每个响应一行。我的代码基本上如下所示:

i = 0
new_df = pandas.DataFrame(columns = ['a','b','c','d'])
for index,row in df.iterrows():
    url = 'http://myAPI/'
    d = '{"SomeJSONData:"' + row['data'] + '}'
    j = json.loads(d)
    response = requests.post(url,json = j)

    data = response.json()
    for new_data in data['c']:
        new_df.loc[i] = [row['a'],row['b'],row['c'],new_data]
        i += 1
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但是我要进行大约5500个API调用,并向新的DataFrame中写入大约6500行,所以这需要一段时间,可能需要10分钟。我想知道是否有人知道一种加快速度的方法?我对在Python中并行运行for循环不太熟悉,可以在保持线程安全性的同时做到这一点吗?

python pandas python-requests

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

标签 统计

pandas ×1

python ×1

python-requests ×1