Python之多列數據(元組)同時寫入DataFrame不同列


數據分析過程中,經常會使用Python之對DataFrame的多列數據運用apply函數操作通過上述操作可以快速綜合多列數據得到相應結果。

如果得到的結果只有一個數,則可以直接賦值到DataFrame中的新字段,但是我在分析過程中往往會遇到,函數結果為元組(例如得到兩個字段),此時需要將結果分別賦值到DataFrame中的兩個新字段,否則需要兩次運用apply函數賦值兩次。經過搜索,可以通過下述方法得到解決。


 一、dataframe一次性apply賦值兩列數據

apply運用函數時,增加字段:result_type='expand',示例如下:

 

 此時如果想通過函數,同時得到兩列數據,如下函數:

通過如下方法,則可同時得到新增兩列函數

 

 

除了賦值到新的兩列,也可以覆蓋之前擁有的字段,結果如下示例:

 

同時,如果已經得到了元組形式的字段,也可以通過下列方法,將其賦值到新增的兩列字段中,


二、通過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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM