我有一个CSV文件,其中有一列id
。我创建了一个新的列(m0
),其内容来自一个以id
作为参数的HTTP调用:
d['m0'] = d['id'].apply(lambda id: pd.read_json(f"http://localhost:3000/{id}").get('H', {}).get('M0', "X"))
我还需要以类似的方式创建列m1
和m2
。
d['m0'] = d['id'].apply(lambda id: pd.read_json(f"http://localhost:3000/{id}").get('H', {}).get('M0', "X"))
d['m1'] = d['id'].apply(lambda id: pd.read_json(f"http://localhost:3000/{id}").get('H', {}).get('M1', "X"))
d['m2'] = d['id'].apply(lambda id: pd.read_json(f"http://localhost:3000/{id}").get('H', {}).get('M2', "X"))
但是HTTP调用非常昂贵而且速度很慢(我有相当多的数据)。
有没有办法将所有三个调用合并为一个?,知道对于给定的id
,我得到的JSON结构是
"H": {
"M0": "sjkdhfjkshd",
"M1": "isudfyfsdif",
"M2": "azednbzaebe"
}
1条答案
按热度按时间mzsu5hc01#
您可以编写一个通用函数,进行HTTP调用,提取所有必填字段并将结果作为pandas
Series
返回: