python?pandas分割DataFrame中的字符串及元組的方法實(shí)現(xiàn)
1.使用str.split()方法
可以使用pandas 內(nèi)置的 str.split() 方法實(shí)現(xiàn)分割字符串類型的數(shù)據(jù),并將分割結(jié)果寫入DataFrame中,以表格形式呈現(xiàn)。
語(yǔ)法:
Series.str.split(pat=None, n=-1, expand=False)
其中,pat是字符串或正則表達(dá)式,
n是一個(gè)整數(shù)數(shù)字,默認(rèn)為-1。為0或-1時(shí)即為最大次數(shù)的分割。其他數(shù)值因數(shù)值而定。
expand為布爾類型,表示分割后是否轉(zhuǎn)換為DataFrame。默認(rèn)為False表示不轉(zhuǎn)換。
首先準(zhǔn)備一組DataFrame數(shù)據(jù):
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
address = ['重慶 重慶市 南岸區(qū) ',
'江蘇省 蘇州市 吳江區(qū) 吳江經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)亨通路',
'江蘇省 蘇州市 園區(qū) 蘇州市工業(yè)園區(qū)唯亭鎮(zhèn)陽(yáng)澄湖大道維納陽(yáng)光花園',
'重慶 重慶市 南岸區(qū) 長(zhǎng)生橋鎮(zhèn)茶園新區(qū)長(zhǎng)電路',
'安徽省 滁州市 明光市 三界鎮(zhèn)中心街10001號(hào)',
'山東省 濰坊市 壽光市 圣城街道濰坊科技學(xué)院',
'吉林省 長(zhǎng)春市 二道區(qū) 東盛街道彩虹風(fēng)景',
'福建省 廈門市 湖里區(qū) 江頭街道廈門市湖里區(qū)祥店福滿園小區(qū)',
'山西省 呂梁市 離石區(qū) 濱河街道山西省呂梁市離石區(qū)后瓦師巷',
'河南省 濮陽(yáng)市 華龍區(qū) 中原路街道中原路與107國(guó)道交叉口東',
'廣東省 深圳市 寶安區(qū) 松崗街道松崗鎮(zhèn)潭頭第二工業(yè)區(qū)',
'河北省 石家莊市 辛集市 辛集鎮(zhèn)辛集市新皮革城7期125樓',
'廣東省 深圳市 寶安區(qū) 松崗街道松崗鎮(zhèn)潭頭第二工業(yè)區(qū)',
'貴州省 貴陽(yáng)市 花溪區(qū) 黨武鎮(zhèn)師范大學(xué)師大超市',
'廣東省 深圳市 福田區(qū) 沙頭街道上沙龍秋村五十巷',
'福建省 福州市 閩侯縣 上街鎮(zhèn)福州閩侯上街國(guó)賓大道',
'湖北省 鄂州市 鄂城區(qū) 西山街道江碧路和馨居',
'上海 上海市 松江區(qū)',
'山東省 青島市 市北區(qū)',
'山西省 晉中市 靈石縣',
'浙江省 杭州市 余杭區(qū)']
df = pd.DataFrame()
df['address'] = address
print(df)
原數(shù)據(jù)示例如下:

將address分割成不同的地理級(jí)別,結(jié)果生成一個(gè)DataFrame對(duì)象:
print("=======================================================================")
df1 = df['address'].str.split(' ', expand=True)
print(df1)
結(jié)果如下:

最后將結(jié)果放入原DataFrame中。
df['省'] = series[0] df['市'] = series[1] df['區(qū)'] = series[2] df = df[['省', '市', '區(qū)']] print(df)

2.使用join()與split()方法結(jié)合
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
address = ['重慶 重慶市 南岸區(qū) ',
'江蘇省 蘇州市 吳江區(qū) 吳江經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)亨通路',
'江蘇省 蘇州市 園區(qū) 蘇州市工業(yè)園區(qū)唯亭鎮(zhèn)陽(yáng)澄湖大道維納陽(yáng)光花園',
'重慶 重慶市 南岸區(qū) 長(zhǎng)生橋鎮(zhèn)茶園新區(qū)長(zhǎng)電路',
'安徽省 滁州市 明光市 三界鎮(zhèn)中心街10001號(hào)',
'山東省 濰坊市 壽光市 圣城街道濰坊科技學(xué)院',
'吉林省 長(zhǎng)春市 二道區(qū) 東盛街道彩虹風(fēng)景',
'福建省 廈門市 湖里區(qū) 江頭街道廈門市湖里區(qū)祥店福滿園小區(qū)',
'山西省 呂梁市 離石區(qū) 濱河街道山西省呂梁市離石區(qū)后瓦師巷',
'河南省 濮陽(yáng)市 華龍區(qū) 中原路街道中原路與107國(guó)道交叉口東',
'廣東省 深圳市 寶安區(qū) 松崗街道松崗鎮(zhèn)潭頭第二工業(yè)區(qū)',
'河北省 石家莊市 辛集市 辛集鎮(zhèn)辛集市新皮革城7期125樓',
'廣東省 深圳市 寶安區(qū) 松崗街道松崗鎮(zhèn)潭頭第二工業(yè)區(qū)',
'貴州省 貴陽(yáng)市 花溪區(qū) 黨武鎮(zhèn)師范大學(xué)師大超市',
'廣東省 深圳市 福田區(qū) 沙頭街道上沙龍秋村五十巷',
'福建省 福州市 閩侯縣 上街鎮(zhèn)福州閩侯上街國(guó)賓大道',
'湖北省 鄂州市 鄂城區(qū) 西山街道江碧路和馨居',
'上海 上海市 松江區(qū)',
'山東省 青島市 市北區(qū)',
'山西省 晉中市 靈石縣',
'浙江省 杭州市 余杭區(qū)']
df = pd.DataFrame()
df['address'] = address
df = df.join(df['address'].str.split(' ', expand=True))
print(df)
運(yùn)行結(jié)果同上。
3. 使用apply方法分割元組
使用apply方法,將某個(gè)元素類型為元組的列,將其元組中的元素拆分為不同的列。
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]})
print(df)
df[['b1', 'b2']] = df['b'].apply(pd.Series)
print(df)

或者也可以這樣寫:
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]})
print(df)
df = df.join(df['b'].apply(pd.Series))
print(df)

參考資源: python數(shù)據(jù)分析從入門到精通 明日科技編著 清華大學(xué)出版社
到此這篇關(guān)于python pandas分割DataFrame中的字符串及元組的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python pandas分割DataFrame字符串及元組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch自定義Dataset和DataLoader去除不存在和空數(shù)據(jù)的操作
這篇文章主要介紹了Pytorch自定義Dataset和DataLoader去除不存在和空數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
詳解python的xlwings庫(kù)讀寫excel操作總結(jié)
這篇文章主要介紹了詳解python的xlwings庫(kù)讀寫excel操作總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Python 僅獲取響應(yīng)頭, 不獲取實(shí)體的實(shí)例
今天小編就為大家分享一篇Python 僅獲取響應(yīng)頭, 不獲取實(shí)體的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
pycharm修改IP、端口無(wú)效的問(wèn)題及解決方案
文章介紹了在PyCharm中修改IP和端口無(wú)效的問(wèn)題解決步驟,包括修改`app.py`文件、刪除PyCharm啟動(dòng)項(xiàng)中的所有數(shù)據(jù)、新增一個(gè)Python配置并設(shè)置參數(shù),最后進(jìn)行測(cè)試2025-02-02
舉例講解Linux系統(tǒng)下Python調(diào)用系統(tǒng)Shell的方法
這篇文章主要介紹了舉例講解Linux系統(tǒng)下Python調(diào)用系統(tǒng)Shell的方法,包括用Python和shell讀取文件某一行的實(shí)例,需要的朋友可以參考下2015-11-11
用Python將IP地址在整型和字符串之間輕松轉(zhuǎn)換
這篇文章主要給大家介紹了利用Python將IP在整型和字符串之間輕松轉(zhuǎn)換的相關(guān)資料,文中還跟大家分享了Python下利用正則表達(dá)式來(lái)匹配校驗(yàn)一個(gè)字符串是否為ip地址的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-03-03
keras小技巧——獲取某一個(gè)網(wǎng)絡(luò)層的輸出方式
這篇文章主要介紹了keras小技巧——獲取某一個(gè)網(wǎng)絡(luò)層的輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05

