Python pandas 數(shù)據(jù)無法正常分列

在數(shù)據(jù)處理時穆桂,有時需要對數(shù)據(jù)進行分列,類似于Excel里面的分列功能,這個在pandas里面也可以實現(xiàn)腻要,下面就來詳細介紹相關(guān)的方法及注意點,前提是你已經(jīng)對pandas有一定的了解

導(dǎo)入數(shù)據(jù)

這里介紹的是從Excel導(dǎo)入數(shù)據(jù)涝登,當(dāng)然也可以從其他文件導(dǎo)入雄家、數(shù)據(jù)庫查詢后導(dǎo)入等,為了弄清楚里面的細節(jié)胀滚,本教程從Excel導(dǎo)入數(shù)據(jù)

import pandas as pd
import numpy as np

data=pd.read_excel('split.xlsx')

查看原始數(shù)據(jù)及各列數(shù)據(jù)類型趟济,可以看到指標(biāo)、選項都是object類型咽笼,其中選項列沒有缺失值

原始數(shù)據(jù).png

對選項列進行分列

對導(dǎo)入的原始數(shù)據(jù)進行分列顷编,這里運用的是pandas.Series.str.split方法,可以理解為把Series作為字符串進行分列操作剑刑,分列都是對字符串進行操作的

split_data=data['選項'].str.split(':',expand=True)   #需要添加expand=True媳纬,使分列后的數(shù)據(jù)擴展為一個數(shù)據(jù)框
split_data
原始數(shù)據(jù)分列.png

可以明顯看到分列后的數(shù)據(jù),第1施掏、5钮惠、6索引行全是缺失值,對比上面的原始數(shù)據(jù)七芭,這些都是只有一個數(shù)字素挽,難道分列方法split對只有一個數(shù)字不能分列嗎?其實則并不然狸驳,實際的原因請往下看

尋找原因

查看Excel里面的數(shù)據(jù)尋找原因预明,發(fā)現(xiàn)選項所在列,單個數(shù)字在Excel單元格是數(shù)字耙箍,其他的都是文本撰糠,因Excel里面數(shù)字一般都是在單元格里面都是靠右對齊,而文本都是靠左對齊

Excel數(shù)據(jù).png

但是pandas導(dǎo)入數(shù)據(jù)后究西,已經(jīng)查看了選項列為object類型窗慎,難道判斷的數(shù)據(jù)類型有問題?請繼續(xù)往下看

強制轉(zhuǎn)換數(shù)據(jù)類型,再次分列

data['選項']=data['選項'].astype('str')
#data['選項']=data['選項'].astype('object')     #這兩個代碼都可以轉(zhuǎn)換

split_data=data['選項'].str.split(':',expand=True)
split_data

數(shù)據(jù)類型轉(zhuǎn)換后再分列.png

可以看到已經(jīng)成功進行分列了遮斥,說明pandas讀取的數(shù)據(jù)峦失,判斷出來的數(shù)據(jù)類型并不一定是這一列所有數(shù)據(jù)的真實類型,而是能概括所有類型的一個較大的類型(兼容所有類型)术吗,并沒有強制轉(zhuǎn)換為同一個數(shù)據(jù)類型尉辑,比如選項列,里面有數(shù)值型较屿、字符串型隧魄,那么較大的一個類型是object,pandas及認為該列數(shù)據(jù)類型是object

合并數(shù)據(jù)

split_data.columns=['s_1','s_2','s_3','s_4']
data.join(split_data)   #join比較方便隘蝎,根據(jù)索引直接對兩個表進行鏈接购啄,而merge需要設(shè)置鏈接時的字段
成功分列后數(shù)據(jù).png

分列時注意事項

1.導(dǎo)入數(shù)據(jù)后一定要檢查數(shù)據(jù)類型,不要急著去處理
2.分列前檢查該列數(shù)據(jù)類型嘱么,確保該列數(shù)據(jù)類型都是字符串類型狮含,或者object類型,當(dāng)數(shù)據(jù)量很大的時候這個很容易出錯

pandas里面數(shù)據(jù)類型對照

詳情請參考這篇博文曼振,數(shù)據(jù)處理過程的數(shù)據(jù)類型

數(shù)據(jù)類型.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末几迄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冰评,更是在濱河造成了極大的恐慌映胁,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甲雅,死亡現(xiàn)場離奇詭異解孙,居然都是意外死亡,警方通過查閱死者的電腦和手機务荆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門妆距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人函匕,你說我怎么就攤上這事娱据。” “怎么了盅惜?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵中剩,是天一觀的道長。 經(jīng)常有香客問我抒寂,道長结啼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任屈芜,我火速辦了婚禮郊愧,結(jié)果婚禮上朴译,老公的妹妹穿的比我還像新娘。我一直安慰自己属铁,他們只是感情好眠寿,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焦蘑,像睡著了一般盯拱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上例嘱,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天狡逢,我揣著相機與錄音,去河邊找鬼拼卵。 笑死奢浑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的间学。 我是一名探鬼主播殷费,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼印荔,長吁一口氣:“原來是場噩夢啊……” “哼低葫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仍律,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤嘿悬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后水泉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體善涨,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年草则,在試婚紗的時候發(fā)現(xiàn)自己被綠了钢拧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片五慈。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡巡揍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘟则,到底是詐尸還是另有隱情份殿,我是刑警寧澤膜钓,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站卿嘲,受9級特大地震影響颂斜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拾枣,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一沃疮、第九天 我趴在偏房一處隱蔽的房頂上張望盒让。 院中可真熱鬧,春花似錦司蔬、人聲如沸糯彬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撩扒。三九已至,卻和暖如春吨些,著一層夾襖步出監(jiān)牢的瞬間搓谆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工豪墅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泉手,地道東北人。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓偶器,卻偏偏與公主長得像斩萌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子屏轰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容