<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
可以使用pandas 內建的 str.split() 方法實現分割字串型別的資料,並將分割結果寫入DataFrame中,以表格形式呈現。
語法:
Series.str.split(pat=None, n=-1, expand=False)
其中,pat是字串或正規表示式,
n是一個整數數位,預設為-1。為0或-1時即為最大次數的分割。其他數值因數值而定。
expand為布林型別,表示分割後是否轉換為DataFrame。預設為False表示不轉換。
首先準備一組DataFrame資料:
import pandas as pd pd.set_option('display.unicode.east_asian_width', True) address = ['重慶 重慶市 南岸區 ', '江蘇省 蘇州市 吳江區 吳江經濟技術開發區亨通路', '江蘇省 蘇州市 園區 蘇州市工業園區唯亭鎮陽澄湖大道維納陽光花園', '重慶 重慶市 南岸區 長生橋鎮茶園新區長電路', '安徽省 滁州市 明光市 三界鎮中心街10001號', '山東省 濰坊市 壽光市 聖城街道濰坊科技學院', '吉林省 長春市 二道區 東盛街道彩虹風景', '福建省 廈門市 湖裡區 江頭街道廈門市湖裡區祥店福滿園小區', '山西省 呂梁市 離石區 濱河街道山西省呂梁市離石區後瓦師巷', '河南省 濮陽市 華龍區 中原路街道中原路與107國道交叉口東', '廣東省 深圳市 寶安區 鬆崗街道鬆崗鎮潭頭第二工業區', '河北省 石家莊市 辛集市 辛集鎮辛集市新皮革城7期125樓', '廣東省 深圳市 寶安區 鬆崗街道鬆崗鎮潭頭第二工業區', '貴州省 貴陽市 花溪區 黨武鎮師範大學師大超市', '廣東省 深圳市 福田區 沙頭街道上沙龍秋村五十巷', '福建省 福州市 閩侯縣 上街鎮福州閩侯上街國賓大道', '湖北省 鄂州市 鄂城區 西山街道江碧路和馨居', '上海 上海市 松江區', '山東省 青島市 市北區', '山西省 晉中市 靈石縣', '浙江省 杭州市 餘杭區'] df = pd.DataFrame() df['address'] = address print(df)
原資料範例如下:
將address分割成不同的地理級別,結果生成一個DataFrame物件:
print("=======================================================================") df1 = df['address'].str.split(' ', expand=True) print(df1)
結果如下:
最後將結果放入原DataFrame中。
df['省'] = series[0] df['市'] = series[1] df['區'] = series[2] df = df[['省', '市', '區']] print(df)
import pandas as pd pd.set_option('display.unicode.east_asian_width', True) address = ['重慶 重慶市 南岸區 ', '江蘇省 蘇州市 吳江區 吳江經濟技術開發區亨通路', '江蘇省 蘇州市 園區 蘇州市工業園區唯亭鎮陽澄湖大道維納陽光花園', '重慶 重慶市 南岸區 長生橋鎮茶園新區長電路', '安徽省 滁州市 明光市 三界鎮中心街10001號', '山東省 濰坊市 壽光市 聖城街道濰坊科技學院', '吉林省 長春市 二道區 東盛街道彩虹風景', '福建省 廈門市 湖裡區 江頭街道廈門市湖裡區祥店福滿園小區', '山西省 呂梁市 離石區 濱河街道山西省呂梁市離石區後瓦師巷', '河南省 濮陽市 華龍區 中原路街道中原路與107國道交叉口東', '廣東省 深圳市 寶安區 鬆崗街道鬆崗鎮潭頭第二工業區', '河北省 石家莊市 辛集市 辛集鎮辛集市新皮革城7期125樓', '廣東省 深圳市 寶安區 鬆崗街道鬆崗鎮潭頭第二工業區', '貴州省 貴陽市 花溪區 黨武鎮師範大學師大超市', '廣東省 深圳市 福田區 沙頭街道上沙龍秋村五十巷', '福建省 福州市 閩侯縣 上街鎮福州閩侯上街國賓大道', '湖北省 鄂州市 鄂城區 西山街道江碧路和馨居', '上海 上海市 松江區', '山東省 青島市 市北區', '山西省 晉中市 靈石縣', '浙江省 杭州市 餘杭區'] df = pd.DataFrame() df['address'] = address df = df.join(df['address'].str.split(' ', expand=True)) print(df)
執行結果同上。
使用apply方法,將某個元素型別為元組的列,將其元組中的元素拆分為不同的列。
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資料分析從入門到精通 明日科技編著 清華大學出版社
到此這篇關於python pandas分割DataFrame中的字串及元組的方法實現的文章就介紹到這了,更多相關python pandas分割DataFrame字串及元組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45