【发布时间】:2021-06-29 02:32:58
【问题描述】:
我有一个工资数据的数据框df:
State,Annual Salary
New York, 132826
New Hampshire,128704
California,127388
Vermont,121599
Idaho,120011
还有一个函数,get_taxes_from_api,它调用 API 并将输入的州和年薪的税号作为只有 1 行的数据框返回,如下所示:
State,annual.fica.amount,annual.federal.amount,annual.state.amount
North Carolina,8918,40334,6364
它的类型是:<class 'pandas.core.frame.DataFrame'> 不是系列。
我想在 df 的每一行上调用 API,然后合并每个生成的 1 行数据帧。比如:
State,Annual Salary,annual.fica.amount,annual.federal.amount,annual.state.amount
North Carolina, 116500,8918,40334,6364
New York, 132826, . . .
New Hampshire,128704, . . .
California,127388, . . .
Vermont,121599, . . .
Idaho,120011, . . .
我该怎么做?我遇到了一个错误,我的 lambda 下面创建了一个系列而不是数据框,所以像这里 'https://stackoverflow.com/a/62849468/2415706' 这样使用 result_type=expand 进入了这个兔子洞,但它仍然坏了:
all_tax_df = df[['State','Annual Salary']].apply(lambda row: get_taxes_from_api(row['State'],row['Annual Salary']), axis=1, result_type='expand')
# merge all_tax_df with df on 'State'
【问题讨论】:
标签: python pandas dataframe merge