数据分析过程中,经常会使用Python之对DataFrame的多列数据运用apply函数操作,
通过上述操作可以快速综合多列数据得到相应结果。
如果得到的结果只有一个数,则可以直接赋值到DataFrame中的新字段,
但是我在分析过程中往往会遇到,函数结果为元组(得到两个字段),此时需要将结果分别赋值到DataFrame
中的两个新字段,原来的方法则需要apply两次函数。
经过多方搜索,可以通过下述方法得到解决,一次性赋值两列数据。
1、通过apply(pd.Series)实现将tuple进行分列
df = pd.DataFrame({‘a‘:[1,2], ‘b‘:[(1,2), (3,4)]})
df[[‘b1‘, ‘b2‘]] = df[‘b‘].apply(pd.Series)
同样地,放方向则可以将两列数据合并为一个元组列,通过apply(tuple)实现将多列合成一列
df[‘c‘] = df[[‘b1‘,‘b2‘]].apply(tuple,axis=1)
Python之多列数据(元组)同时写入DataFrame不同列
原文:https://www.cnblogs.com/feigebaqi/p/12156155.html