最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用pandas將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值的方式

 更新時(shí)間:2019年12月18日 15:39:20   作者:可以調(diào)素琴  
今天小編就為大家分享一篇利用pandas將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

handle non numerical data

舉個(gè)例子,將性別屬性男女轉(zhuǎn)換成0-1,精通ML的小老弟們可以略過(guò)本文~~,

這里不考慮稀疏向量的使用,僅提供一些思路。本來(lái)想直接利用pandas的DataFrame.iloc加上for循環(huán)直接轉(zhuǎn)換,但試過(guò)一遍之后,原數(shù)據(jù)并有改變。。。。蛋疼寫(xiě)了一個(gè)比較 菜的函數(shù),如下。

# 非數(shù)值列處理函數(shù)
def handel_non_numerical_data(df,name): #----------------name是需要處理的列名稱(chēng)(str),暫不考慮列表
 nrows = len(df[name])  #----------------數(shù)據(jù)集的行數(shù)
 old_col = df.columns.tolist() #----------------初始的列名集合
 name_index = old_col.index(name) #---------要處理的列的在數(shù)據(jù)集中的索引值
 name_data = df[name].values.tolist()#-----------將要處理煩人列復(fù)制成一個(gè)列表
 df.drop([name],axis =1,inplace =True) 
 unique_kinds = set(name_data)
 convert_dict = {}; x = 0   #構(gòu)造對(duì)應(yīng)種類(lèi)數(shù)值轉(zhuǎn)化字典
 for i in unique_kinds:
 convert_dict[i] = x
 x += 1
 def convert(val):
 return convert_dict[val] 
 name_data = list(map(convert,name_data))#利用map函數(shù)直接迭代轉(zhuǎn)化
 
 new_col = df.columns.tolist()
 new_col.insert(name_index,name)
 df.reindex(columns = new_col) #----------------重構(gòu)數(shù)據(jù)的列
 df[name] = name_data

跑了一遍沒(méi)有出錯(cuò),注意這只是baseline…,如果對(duì)數(shù)值有要求的話(huà),需要自行改動(dòng)

原本是想直接用youtube上sentdex老哥ml35期視頻里的代碼的,但發(fā)現(xiàn)了幾個(gè)較為嚴(yán)重的bug,而且總是運(yùn)行出錯(cuò) ,如下

def handle_non_numerical_data(df):
 columns = df.columns.values
 for column in columns:
 text_digit_vals = {}
 def convert_to_int(val):
  return text_digit_vals[val]
 if df[column].dtype != np.int64 and df[column].dtype != np.float64:
  column_content = df[column].values.tolist()
  unique_elements = set(column_content)
  print(unique_elements)
  x =0
  for unique in unique_elements:
  if unique not in text_digit_vals:
   text_digit_vals[unique] = x
   x+=1
 df[column] = list(map(convert_to_int,df[column]))

可見(jiàn),非常暴力,注意到他的if條件,有的數(shù)據(jù)集中會(huì)出現(xiàn)字母數(shù)字組合的情況【會(huì)出現(xiàn)dtype=object的情況】,set之后種類(lèi)會(huì)草雞多…,這樣的話(huà)數(shù)值轉(zhuǎn)換也就失去了意義【當(dāng)然,如果你的樣本量是億級(jí)的,幾千幾百個(gè)種類(lèi)無(wú)所謂我也無(wú)fuck說(shuō),這種情況我認(rèn)為必須使用稀疏向量了】,另外這個(gè)代碼一直報(bào)錯(cuò),不知道為什么,有興趣的老哥可以復(fù)制跑一下幫我解答一下。。。

---------------------------2019-08-21分割:

https://www.kaggle.com/nroman/recursive-feature-elimination

LabelEncoder方法

from sklearn.preprocessing import LabelEncoder

注:tqdm是進(jìn)度條庫(kù),不需要關(guān)注。另外沒(méi)有去看這個(gè)接口的源碼,應(yīng)該也是最簡(jiǎn)單的one-hot

以上這篇利用pandas將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值的方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于pygame實(shí)現(xiàn)貪吃蛇小游戲示例

    基于pygame實(shí)現(xiàn)貪吃蛇小游戲示例

    大家好,本篇文章主要講的是基于pygame實(shí)現(xiàn)貪吃蛇小游戲示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • 如何用python?GUI(tkinter)寫(xiě)一個(gè)鬧鈴小程序(思路詳解)

    如何用python?GUI(tkinter)寫(xiě)一個(gè)鬧鈴小程序(思路詳解)

    這篇文章主要介紹了用python?GUI(tkinter)寫(xiě)一個(gè)鬧鈴小程序思路詳解,涉及到tkinter一些函數(shù)控件,數(shù)據(jù)的類(lèi)的封裝,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • 詳解Python中映射類(lèi)型(字典)操作符的概念和使用

    詳解Python中映射類(lèi)型(字典)操作符的概念和使用

    這篇文章主要介紹了詳解Python中映射類(lèi)型(字典)操作符的概念和使用,字典是目前Python中唯一的映射類(lèi)型,需要的朋友可以參考下
    2015-08-08
  • Linux下使用python自動(dòng)修改本機(jī)網(wǎng)關(guān)代碼分享

    Linux下使用python自動(dòng)修改本機(jī)網(wǎng)關(guān)代碼分享

    這篇文章主要介紹了Linux下使用python自動(dòng)修改本機(jī)網(wǎng)關(guān)代碼分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • 怎么解決pycharm license Acti的方法

    怎么解決pycharm license Acti的方法

    這篇文章主要介紹了怎么解決pycharm license Acti的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 關(guān)于pycharm中pip版本10.0無(wú)法使用的解決辦法

    關(guān)于pycharm中pip版本10.0無(wú)法使用的解決辦法

    近期在利用 pycharm 安裝第三方庫(kù)時(shí)會(huì)提示 pip 不是最新版本, 因此對(duì) pip 進(jìn)行更新,但是生成最新版本之后, pip 中由于缺少 main 函數(shù),導(dǎo)致在 pycharm 中無(wú)法自動(dòng)安裝第三方庫(kù)。本文就介紹一下如何解決
    2019-10-10
  • Python報(bào)錯(cuò)ModuleNotFoundError: No module named ‘tensorboard‘的解決方法

    Python報(bào)錯(cuò)ModuleNotFoundError: No module named&

    在嘗試導(dǎo)入TensorBoard模塊時(shí),你可能會(huì)遇到ModuleNotFoundError: No module named 'tensorboard'的錯(cuò)誤,下面我們來(lái)分析這個(gè)問(wèn)題并提供解決方案,需要的朋友可以參考下
    2024-09-09
  • Python中asyncio模塊的深入講解

    Python中asyncio模塊的深入講解

    這篇文章主要給大家介紹了關(guān)于Python中asyncio模塊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python中split方法用法分析

    python中split方法用法分析

    這篇文章主要介紹了python中split方法用法,實(shí)例分析了split方法的功能及相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能

    通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能

    這篇文章主要介紹了通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-05-05

最新評(píng)論

滨海县| 库尔勒市| 喜德县| 阿荣旗| 班玛县| 睢宁县| 唐海县| 会昌县| 历史| 磐石市| 文化| 扶沟县| 浑源县| 岳阳市| 双鸭山市| 衡水市| 汪清县| 桂东县| 巫山县| 昂仁县| 健康| 民权县| 襄樊市| 岳池县| 英吉沙县| 伽师县| 翁牛特旗| 左云县| 天祝| 武清区| 平山县| 石屏县| 商洛市| 奎屯市| 甘谷县| 安西县| 襄樊市| 新巴尔虎右旗| 甘德县| 梧州市| 西林县|