熊猫同时添加多列

时间:2019-04-03 20:29:05

标签: python pandas

我想执行一次申请,并为每行添加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

1 个答案:

答案 0 :(得分:0)

可以肯定地说,这有点棘手,因为您的功能尚未完全提供,但是我在一些虚构数据上进行了测试,其中lambda函数输出一个元组(每行一个元组),并且可以正常工作: / p>

df[['message_segments','total_cost']] = pd.Dataframe(df['smssid'].apply(lambda sms_sid: _append_twilio_info(sms_sid)).tolist())