字符串处理 - DataFrame文本数据的量化 - Python代码
生活随笔
收集整理的這篇文章主要介紹了
字符串处理 - DataFrame文本数据的量化 - Python代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在數據建模的過程中,對于文本數據,比如婚姻情況、性別、居住地等。這給只接受數值型的模型造成了很大的干擾,因此在數據采集到數據建模的過程中,我們需要一個過程,叫量化。
比如這樣一個源數據:
| 收入 | 身高 | 長相 | 體型 | 是否見面 |
| 一般 | 高 | 丑 | 胖 | 否 |
| 高 | 一般 | 帥 | 瘦 | 是 |
| 高 | 一般 | 帥 | 瘦 | 是 |
| 一般 | 一般 | 一般 | 一般 | 是 |
| 高 | 高 | 丑 | 一般 | 否 |
| 一般 | 高 | 帥 | 胖 | 是 |
| 低 | 低 | 一般 | 瘦 | 否 |
下面是量化的過程,利用到了字典:
#coding:utf-8import numpy as np import pandas as pd from pandas import DataFrame,Series#讀取文件 datafile = u'E:\\pythondata\\tree.xlsx'#文件所在位置,u為防止路徑中有中文名稱,此處沒有,可以省略 data = pd.read_excel(datafile)#datafile是excel文件,所以用read_excel,如果是csv文件則用read_csv print(data) #將文本中不可直接使用的文本變量替換成數字 productDict={'高':1,'一般':2,'低':3, '帥':1, '丑':3, '胖':3, '瘦':1, '是':1, '否':0} data['income'] = data['收入'].map(productDict)#將每一列中的數據按照字典規定的轉化成數字 data['hight'] = data['身高'].map(productDict) data['look'] = data['長相'].map(productDict) data['shape'] = data['體型'].map(productDict) data['is_meet'] = data['是否見面'].map(productDict) print(data.iloc[:,5:].as_matrix())#as_matrix()矩陣化?運行結果:
[[2 1 3 3 0][1 2 1 1 1][1 2 1 1 1][2 2 2 2 1][1 1 3 2 0][2 1 1 3 1][3 3 2 1 0][1 1 1 2 1][1 1 1 1 0][3 1 2 2 1][1 3 1 3 1][1 1 1 1 0][1 1 1 2 1][2 2 1 1 1][1 1 1 2 1][1 2 2 1 0][3 1 1 2 0][2 3 3 3 0]]這是矩陣化之后的數據,便于各種建模,不需要矩陣化的話,就將最后一個print中的.as_matrix()去掉。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的字符串处理 - DataFrame文本数据的量化 - Python代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html怎么修改锚点的属性,在HTML中
- 下一篇: 数据标准化 - scale() - Py