pandas數(shù)據(jù)分列實現(xiàn)分割符號&固定寬度
背景
數(shù)據(jù)分列在數(shù)據(jù)處理中很常見,數(shù)據(jù)分列一般指的都是字符串分割,這個功能在Excel里面很實用,處理數(shù)據(jù)非常方便,那么在pandas數(shù)據(jù)框中怎么使用呢,今天這篇文章就來詳細介紹下
分列
模擬數(shù)據(jù)
以下面這9行數(shù)據(jù)作為案例來進行處理
模擬數(shù)據(jù)
讀取數(shù)據(jù)
#加載庫 import pandas as pd #讀取數(shù)據(jù) data=pd.read_excel('data.xlsx')
讀取數(shù)據(jù)
分割符號分列
主要運用了pandas里面列的str
屬性,str
有很多的方法,感性的同學可以自動查找,這里不做過多介紹。分割字符用到的就是split
方法重點:在分割前一定要把該列強制轉(zhuǎn)換為字符型
#對指定列進行分割 split_data_1=data['分割字符'].astype('str').str.split('&',expand=True) #修改分割后的字段名稱 split_data_1.columns=['D_'+str(i) for i in split_data_1.columns] #與原始數(shù)據(jù)進行合并 data_result=data.join(split_data_1)
分割符號
固定寬度分列
pandas里面沒有固定分割的相應函數(shù),這里巧妙的運用了輔助函數(shù)來進行處理,這里的固定寬度為1
#定義個輔助函數(shù) def concat_split(x,width=1): result='' start=0 while True: s=str(x)[start:start+width] if s: result =result + s + '&' else: break start=start+width return result[:-1] #先利用輔助函數(shù),再進行分割 split_data_2=data['固定寬度'].map(concat_split).str.split('&',expand=True) #修改分割后的字段名稱 split_data_2.columns=['W_'+str(i) for i in split_data_2.columns] #與原始數(shù)據(jù)進行合并 data_result=data.join(split_data_2)
固定寬度
到此這篇關(guān)于pandas數(shù)據(jù)分列實現(xiàn)分割符號&固定寬度的文章就介紹到這了,更多相關(guān)pandas數(shù)據(jù)分列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python?cv2.waitKey()函數(shù)的使用
這篇文章主要介紹了python?cv2.waitKey()函數(shù)的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01