背景
數據分列在數據處理中很常見,數據分列一般指的都是字符串分割,這個功能在Excel里面很實用,處理數據非常方便,那么在pandas數據框中怎么使用呢,今天這篇文章就來詳細介紹下
分列
模擬數據
以下面這9行數據作為案例來進行處理
模擬數據
讀取數據
#加載庫
import pandas as pd
#讀取數據
data=pd.read_excel('data.xlsx')
讀取數據
分割符號分列
主要運用了pandas里面列的str
屬性,str
有很多的方法,感性的同學可以自動查找,這里不做過多介紹。分割字符用到的就是split
方法
重點:在分割前一定要把該列強制轉換為字符型
#對指定列進行分割
split_data_1=data['分割字符'].astype('str').str.split('&',expand=True)
#修改分割后的字段名稱
split_data_1.columns=['D_'+str(i) for i in split_data_1.columns]
#與原始數據進行合并
data_result=data.join(split_data_1)
分割符號
固定寬度分列
pandas里面沒有固定分割的相應函數,這里巧妙的運用了輔助函數來進行處理,這里的固定寬度為1
#定義個輔助函數
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]
#先利用輔助函數,再進行分割
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]
#與原始數據進行合并
data_result=data.join(split_data_2)
固定寬度
歷史相關文章
以上是自己實踐中遇到的一些問題,分享出來供大家參考學習,歡迎關注微信公眾號:DataShare ,不定期分享干貨