pandas如何將表中的字符串轉(zhuǎn)成數(shù)值型
pandas將表中的字符串轉(zhuǎn)成數(shù)值型
在用pd.read_csv讀數(shù)據(jù)時(shí),將要轉(zhuǎn)換數(shù)據(jù)類型的列名和類型名構(gòu)成字典,傳給dtype
import numpy as np import pandas as pd path = 'house_data.csv' col = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', ? ? ? ?'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dict_dtype = {} for i in col: ? ? dict_dtype[i] = np.float64 # print(dict_dtype) data = pd.read_csv(path, header=None, names=col, sep=',', dtype=dict_dtype)
擴(kuò)展:pandas 把某一列中字符串變數(shù)值_Pandas對(duì)文本數(shù)據(jù)處理
在處理數(shù)據(jù)的時(shí)候,對(duì)數(shù)值型的數(shù)據(jù)處理還是比較方便的,但是有時(shí)候數(shù)值型數(shù)據(jù)出現(xiàn)問題后就會(huì)比較頭痛了,因?yàn)槲谋緮?shù)據(jù)的排列組合可是有很多很多的,今天我們就學(xué)習(xí)一下如何對(duì)文本數(shù)據(jù)進(jìn)行處理,這樣我們接下來在工作中遇到了這些情況就可以少掉一下頭發(fā)啦。
一、str屬性
文本數(shù)據(jù)也就是我們常說的字符串,pandas為series提供了str屬性,通過它可以方便對(duì)每個(gè)元素進(jìn)行操作。
為了防止數(shù)據(jù)被弄壞,我們先預(yù)留一個(gè)備份以防萬一。
這里我們是不能使用backup_user_info = user_info的因?yàn)檫@樣的話一個(gè)更改另外一個(gè)也會(huì)更改。
在之前我們也已經(jīng)了解過,在對(duì)series中每個(gè)元素處理時(shí),我們可以使用map或apply方法,比如我們想把星球列下面的地球和外星轉(zhuǎn)換為英文,可以使用下面的方式。
這時(shí)候我們?cè)趯⒈砘謴?fù)成原來的樣子。
將哪個(gè)星球列下的星球改為大寫的英文后再改為小寫
首先更改為英文
然后設(shè)置一個(gè)函數(shù),將星球改為大寫,原理為upper()方法
然后在設(shè)置為小寫,原理為lower方法
給英雄們的身高加上一個(gè)單位
我們通過str屬性來訪問之后用到的方法名與 Python 內(nèi)置的字符串的方法名一樣。并且能夠自動(dòng)排除缺失值。 我們?cè)賮碓囋嚻渌恍┓椒?。例如,統(tǒng)計(jì)每個(gè)字符串的長(zhǎng)度。
將cm替換成空白的字符串
將身高列的元素類型轉(zhuǎn)換為整數(shù)型
生成一個(gè)新的列,列名為姓名的長(zhǎng)度,元素為英雄姓名的長(zhǎng)度(len方法)
查看表的元素類型
將年不年輕列的中的中年屬性更改為中老年屬性
查看城市列中每個(gè)元素有幾個(gè)字
查看年不年輕列中每個(gè)元素是否有輕這個(gè)字符串
二、替換和分隔
使用.srt屬性也支持替換與分割操作。先來看下替換操作,例如:將大寫的R轉(zhuǎn)換為小寫的r。
將列中的數(shù)據(jù)進(jìn)行分隔
將是否年輕按年進(jìn)行分隔,結(jié)果如上所述。
分割列表中的元素可以使用 get 或 [] 符號(hào)進(jìn)行訪問:
比如說電影的主演有很多人, 可能是用逗號(hào), 或者/ 進(jìn)行分割, 這是可以用這種方法轉(zhuǎn)換成列表
在表中添加一列英雄的愛人列
將愛人列以,號(hào)分隔
這時(shí)候就可以讓某一行的這個(gè)元素以列表表現(xiàn)出來。
將索引列改為英雄姓名,并查看蜘蛛俠和滅霸的愛人
三、提取子串
既然是在操作字符串,很自然的大家可能會(huì)想到是否可以從一個(gè)長(zhǎng)的字符串中提取出子串。答案是可以的。
1、提取第一個(gè)匹配的子串
extract方法接受一個(gè)正則表達(dá)式并至少包含一個(gè)捕獲組,指定參數(shù) expand=True可以保證每次都返回DataFrame。例如,現(xiàn)在想要匹配空字符串前面的所有的字母,可以使用如下操作:
查看哪位英雄的所在的星球包括E這個(gè)字符串
查看哪位英雄所在的城市包括紐這個(gè)字符串
四、生成啞變量
首先我們先了解一下什么是啞變量:
啞變量原名為虛擬變量 ( Dummy Variables) 又稱虛設(shè)變量、名義變量或啞,用以反映質(zhì)的屬性的一個(gè)人工變量,是量化了的自變量,通常取值為0或1。引入啞變量可使線形回歸模型變得更復(fù)雜,但對(duì)問題描述更簡(jiǎn)明,一個(gè)方程能達(dá)到兩個(gè)方程的作用,而且接近現(xiàn)實(shí)。
在pandas中我們可以通過get_dummies 方法可以將字符串轉(zhuǎn)為啞變量,sep 參數(shù)是指定啞變量之間的分隔符。
對(duì)英雄姓名進(jìn)行啞變量轉(zhuǎn)換
從結(jié)果可以看出,第0行的英雄姓名是蜘蛛俠,第1行的英雄姓名是滅霸,啞變量轉(zhuǎn)換就是將每一個(gè)選擇匹配哪一行的數(shù)據(jù)。
對(duì)那個(gè)星球進(jìn)行啞變量轉(zhuǎn)換
從結(jié)果可以看出,在地球的英雄是第0、2、3、4、6行的,對(duì)應(yīng)的英雄名稱為(蜘蛛俠、奇異博士、鋼鐵俠、蝙蝠俠、黑寡婦)
到此這篇關(guān)于pandas將表中的字符串轉(zhuǎn)成數(shù)值型的文章就介紹到這了,更多相關(guān)pandas字符串轉(zhuǎn)成數(shù)值型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
git查看、創(chuàng)建、刪除、本地、遠(yuǎn)程分支方法詳解
這篇文章主要介紹了git查看、創(chuàng)建、刪除、本地、遠(yuǎn)程分支方法詳解,需要的朋友可以參考下2020-02-02Python實(shí)現(xiàn)將xml導(dǎo)入至excel
本文給大家講解的是使用Python的Testlink實(shí)現(xiàn)將實(shí)現(xiàn)將xml導(dǎo)入至excel表格中,方法非常的簡(jiǎn)單,另外附上其他小伙伴的方法,有需要的童鞋們可以參考下。2015-11-11python誤差棒圖errorbar()函數(shù)實(shí)例解析
這篇文章主要介紹了python誤差棒圖errorbar()函數(shù)實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式
今天小編就為大家分享一篇Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python導(dǎo)入Excel表格數(shù)據(jù)并以字典dict格式保存的操作方法
本文介紹基于Python語言,將一個(gè)Excel表格文件中的數(shù)據(jù)導(dǎo)入到Python中,并將其通過字典格式來存儲(chǔ)的方法,感興趣的朋友一起看看吧2023-01-01python+flask編寫一個(gè)簡(jiǎn)單的登錄接口
這篇文章主要介紹了python+flask編寫一個(gè)簡(jiǎn)單的登錄接口,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11