我的目标是为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循环不太熟悉,可以在保持线程安全性的同时做到这一点吗?