python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實(shí)現(xiàn)
轉(zhuǎn)換為字符串類型
tips['sex_str'] = tips['sex'].astype(str)
轉(zhuǎn)換為數(shù)值類型
轉(zhuǎn)為數(shù)值類型還可以使用to_numeric()函數(shù)
DataFrame每一列的數(shù)據(jù)類型必須相同,當(dāng)有些數(shù)據(jù)中有缺失,但不是NaN時(shí)(如missing,null等),會(huì)使整列數(shù)據(jù)變成字符串類型而不是數(shù)值型,這個(gè)時(shí)候可以使用to_numeric處理
#創(chuàng)造包含'missing'為缺失值的數(shù)據(jù) tips_sub_miss = tips.head(10) tips_sub_miss.loc[[1,3,5,7],'total_bill'] = 'missing' tips_sub_miss
自動(dòng)轉(zhuǎn)換為了字符串類型:
使用astype轉(zhuǎn)換報(bào)錯(cuò):
tips_sub_miss['total_bill'].astype(float)
使用to_numeric()函數(shù):
直接使用to_numeric()函數(shù)還是會(huì)報(bào)錯(cuò),添加errors參數(shù)
errors
可變參數(shù):
ignore
遇到錯(cuò)誤跳過 (只是跳過沒轉(zhuǎn)類型)coerce
遇到不能轉(zhuǎn)的值強(qiáng)轉(zhuǎn)為NaN
pd.to_numeric(tips_sub_miss['total_bill'],errors='ignore')
pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce')
to_numeric向下轉(zhuǎn)型:
downcast
參數(shù)
integer
和signed
最小的有符號(hào)int dtypefloat
最小的float dtypeunsigned
最小的無符號(hào)int dtype
downcast參數(shù)設(shè)置為float之后, total_bill的數(shù)據(jù)類型由float64變?yōu)閒loat32
pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce',downcast='float')
分類數(shù)據(jù)(Category)
利用pd.Categorical()
創(chuàng)建categorical數(shù)據(jù),Categorical()常用三個(gè)參數(shù)
- 參1 values,如果values中的值,不在categories參數(shù)中,會(huì)被NaN代替
- 參2 categories,指定可能存在的類別數(shù)據(jù)
- 參3 ordered, 是否指定順序
s = pd.Series(pd.Categorical(["a","b","c","d"],categories=['c','b','a']))
分類數(shù)據(jù)排序會(huì)自動(dòng)根據(jù)分類排序:
ordered指定順序:
from pandas.api.types import CategoricalDtype # 創(chuàng)建一個(gè)分類 ordered 指定順序 cat = CategoricalDtype(categories=['B','D','A','C'],ordered=True) # 指定series_cat1轉(zhuǎn)換類型為創(chuàng)建的分類類型 series_cat1 = series_cat.astype(cat) print(series_cat.sort_values()) print(series_cat1.sort_values())
數(shù)據(jù)類型小結(jié)
知識(shí)點(diǎn) | 內(nèi)容 |
---|---|
Numpy的特點(diǎn) | 1. Numpy是一個(gè)高效科學(xué)計(jì)算庫,Pandas的數(shù)據(jù)計(jì)算功能是對(duì)Numpy的封裝 2. ndarray是Numpy的基本數(shù)據(jù)結(jié)構(gòu),Pandas的Series和DataFrame好多函數(shù)和屬性都與ndarray一樣 3. Numpy的計(jì)算效率比原生Python效率高很多,并且支持并行計(jì)算 |
Pandas數(shù)據(jù)類型轉(zhuǎn)換 | 1. Pandas除了數(shù)值型的int 和 float類型外,還有object ,category,bool,datetime類型 2. 可以通過as_type 和 to_numeric 函數(shù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換 |
Pandas 分類數(shù)據(jù)類型 | 1. category類型,可以用來進(jìn)行排序,并且可以自定義排序順序 2. CategoricalDtype可以用來定義順序 |
到此這篇關(guān)于python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)-Pandas類型轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運(yùn)算符方式
- Python數(shù)據(jù)類型轉(zhuǎn)換匯總
- Python數(shù)據(jù)類型轉(zhuǎn)換詳解
- Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
- python3的數(shù)據(jù)類型及數(shù)據(jù)類型轉(zhuǎn)換實(shí)例詳解
- Python常見數(shù)據(jù)類型轉(zhuǎn)換操作示例
- 淺談python數(shù)據(jù)類型及類型轉(zhuǎn)換
- 常用python數(shù)據(jù)類型轉(zhuǎn)換函數(shù)總結(jié)
- Python數(shù)據(jù)類型轉(zhuǎn)換實(shí)現(xiàn)方法
相關(guān)文章
Python+OpenCV實(shí)現(xiàn)相機(jī)標(biāo)定的方法詳解
opencv中內(nèi)置了張正友的棋盤格標(biāo)定法,通過一些姿態(tài)各異的棋盤格圖像,可以標(biāo)定相機(jī)的內(nèi)外參數(shù),本文為大家介紹OpenCV進(jìn)行相機(jī)標(biāo)定的具體方法,希望對(duì)大家有所幫助2023-05-05python目標(biāo)檢測(cè)SSD算法預(yù)測(cè)部分源碼詳解
這篇文章主要為大家介紹了python目標(biāo)檢測(cè)SSD算法預(yù)測(cè)部分源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05基于Pycharm加載多個(gè)項(xiàng)目過程圖解
這篇文章主要介紹了基于Pycharm加載多個(gè)項(xiàng)目過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Python辦公自動(dòng)化之定時(shí)郵件提醒和音視頻文件處理
這篇文章主要為大家詳細(xì)介紹了Python辦公自動(dòng)化中定時(shí)郵件提醒和音視頻文件處理的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),需要的小伙伴可以了解下2023-12-12Python實(shí)現(xiàn)的飛速中文網(wǎng)小說下載腳本
這篇文章主要介紹了Python實(shí)現(xiàn)的飛速中文網(wǎng)小說下載腳本,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04python mysql 字段與關(guān)鍵字沖突的解決方式
這篇文章主要介紹了python mysql 字段與關(guān)鍵字沖突的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python EOL while scanning string literal問題解決方法
這篇文章主要介紹了Python EOL while scanning string literal問題解決方法,本文總結(jié)出是數(shù)據(jù)庫數(shù)據(jù)出現(xiàn)問題導(dǎo)致這個(gè)問題,需要的朋友可以參考下2015-04-04