我想执行一次申请,并为每行添加2列。可以一次申请吗?
df['message_segments'], df['total_cost'] = df['smssid'].apply(lambda sms_sid: _append_twilio_info(sms_sid))
def _append_twilio_info(sms_sid):
twilio_sms_message = _get_sms_info_on_twilio(sms_sid)
return twilio_sms_message.num_segments, twilio_sms_message.price
这种方式不起作用。有时,列total_cost
从列num_segments
获取值。
示例:
smssid ... total_cost
1 SM42ea979fb9374bf08c693fc90aabcd5 ... 4
3 SMc09ec3cc8711431480aabjsebjbejad ... -0.06000
答案 0 :(得分:0)
可以肯定地说,这有点棘手,因为您的功能尚未完全提供,但是我在一些虚构数据上进行了测试,其中lambda函数输出一个元组(每行一个元组),并且可以正常工作: / p>
df[['message_segments','total_cost']] = pd.Dataframe(df['smssid'].apply(lambda sms_sid: _append_twilio_info(sms_sid)).tolist())