pandas 如何将字符串映射为数字

目录
  • pandas 将字符串映射为数字
  • pandas 将某一列的字符值转换为数字

pandas 将字符串映射为数字

在有些数据集中,有些数据变量用字符串表示,但为了方便处理,往往想转换为好处理的格式,这时候不一定要用one hot进行编码,也可以直接转成整数:

test_df["xx"] = pd.factorize(test_df["xx"])[0].astype(int)

但是这样映射的数字是从0开始的,如果有初始要求,可以对映射结果加上某个值,例如,把从0开始变为从15开始:

test_df["xx"] = test_df["xx"].add(15)

效果gift_cards["user_id"] = pd.factorize(gift_cards["user_id"])[0].astype(int):

user_id         item_id  ratings        time
0       B001GXRQW0   APV13CM0919JD      1.0  1229644800
1       B001GXRQW0  A3G8U1G1V082SN      5.0  1229472000
2       B001GXRQW0   A11T2Q0EVTUWP      5.0  1229472000
3       B001GXRQW0   A9YKGBH3SV22C      5.0  1229472000
4       B001GXRQW0  A34WZIHVF3OKOL      1.0  1229472000
...            ...             ...      ...         ...
147189  B01H5PPJT4  A2K9WVQW9TLWNK      5.0  1536969600
147190  B01H5PPJT4  A149ALSR6TPGF7      4.0  1536278400
147191  B01H5PPJT4  A2Q066NZCQSCOR      5.0  1535500800
147192  B01H5PPJT4  A1KJLWCW7XBS8I      5.0  1534550400
147193  B01H5PPJT4   ANABUB0FRZXRM      5.0  1534204800

user_id         item_id  ratings        time
0             0   APV13CM0919JD      1.0  1229644800
1             0  A3G8U1G1V082SN      5.0  1229472000
2             0   A11T2Q0EVTUWP      5.0  1229472000
3             0   A9YKGBH3SV22C      5.0  1229472000
4             0  A34WZIHVF3OKOL      1.0  1229472000
...         ...             ...      ...         ...
147189      858  A2K9WVQW9TLWNK      5.0  1536969600
147190      858  A149ALSR6TPGF7      4.0  1536278400
147191      858  A2Q066NZCQSCOR      5.0  1535500800
147192      858  A1KJLWCW7XBS8I      5.0  1534550400
147193      858   ANABUB0FRZXRM      5.0  1534204800

pandas 将某一列的字符值转换为数字

使用map的方法就可以实现把某一列的字符类型的值转换为数字。

class_mapping = {'A':0, 'B':1}
data[class] = data[class].map(class_mapping)

首先定义一个字典,然后使用map方法就可以把某一列的字符类型的值转换为数字。

好了,这就是对使用pandas把某一列的字符值转换为数字的认识。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解pandas映射与数据转换

    在 pandas 中提供了利用映射关系来实现某些操作的函数,具体如下: replace() 函数:替换元素: map() 函数:新建一列: rename() 函数:替换索引. 一.replace() 用映射替换元素 在数据处理时,经常会遇到需要将数据结构中原来的元素根据实际需求替换成新元素的情况.要想用新元素替换原来元素,就需要定义一组映射关系.在映射关系中,将旧元素作为键,新元素作为值. 例如,创建字典 fruits 用于指明水果标识和水果名称的映射关系. fruits={101:'orang

  • pandas数据处理之 标签列字符转数字的实现

    机器学习中,当我们在进行数据预处理的时候,对于标签列非字符的数据,我们往往需要将其转换成字符,因为有的算法可能不支持非数字类型来做特征. 那么怎么快捷地来着这个转换呢,请看我的示例: 1.构建测试数据 import pandas as pd array = ['good','bad','well','bad','good','good','well','good'] 2.数据转换下,并获取标签列的字典 df = pd.DataFrame(array,columns=['status']) sta

  • pandas factorize实现将字符串特征转化为数字特征

    将原始数据中的字符串特征转化为模型可以识别的数字特征可是使用pandas自带的factorzie方法. 原始数据的job特征值如下 都是字符串特征,无法用于训练,当然可以单独建立map硬编码处理,但是pandas已经封装好了相应的方法. data = pd.read_csv("data/test_set.csv") data["job"] = pd.factorize(data["job"])[0].astype(np.uint16) 以上这篇p

  • 使用pandas把某一列的字符值转换为数字的实例

    今天小编就为大家分享一篇使用pandas把某一列的字符值转换为数字的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用map的方法就可以实现把某一列的字符类型的值转换为数字. class_mapping = {'A':0, 'B':1} data[class] = data[class].map(class_mapping) 首先定义一个字典,然后使用map方法就可以把某一列的字符类型的值转换为数字. 以上就是对使用pandas把某一列的字符值转换为数字的认识. 这篇使用

  • pandas 如何将字符串映射为数字

    目录 pandas 将字符串映射为数字 pandas 将某一列的字符值转换为数字 pandas 将字符串映射为数字 在有些数据集中,有些数据变量用字符串表示,但为了方便处理,往往想转换为好处理的格式,这时候不一定要用one hot进行编码,也可以直接转成整数: test_df["xx"] = pd.factorize(test_df["xx"])[0].astype(int) 但是这样映射的数字是从0开始的,如果有初始要求,可以对映射结果加上某个值,例如,把从0开始

  • 通过5个例子让你学会Pandas中的字符串过滤

    要处理文本数据,需要比数字类型的数据更多的清理步骤.为了从文本数据中提取有用和信息,通常需要执行几个预处理和过滤步骤. Pandas 库有许多可以轻松简单地处理文本数据函数和方法.在本文中,我介绍将学习 5 种可用于过滤文本数据(即字符串)的不同方法: 是否包含一系列字符 求字符串的长度 判断以特定的字符序列开始或结束 判断字符为数字或字母数字 查找特定字符序列的出现次数 首先我们导入库和数据 import pandas as pd df = pd.read_csv("example.csv&q

  • IOS判断字符串是不是纯数字的方法总结

    前言 在大家开发项目的时候,遇到需求可能是让我们只输入一段纯数字,这时候我们就要对这个字符串进行筛选判断,不符合纯数字进行提示操作,以求达到最好的交互效果也能满足需求. 下面介绍几种判断字符串是否为纯数字的方法 第一种方式是使用NSScanner: 1. 整形判断 - (BOOL)isPureInt:(NSString *)string{ NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan s

  • JS判断输入的字符串是否是数字的方法(正则表达式)

    实例如下: if (!checkNumber(gopage_val)) { alert("请输入正确页数(数字)"); return false; } //验证字符串是否是数字 function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 以上这篇JS判断输入的字符串是否是数字的方法(正则表达式)就是小编分享给大家的全

  • Java判断字符串为空、字符串是否为数字

    关于 String 的判空: 复制代码 代码如下: //这是对的if (selection != null && !selection.equals("")) {      whereClause += selection;  } //这是错的if (!selection.equals("") && selection != null) {      whereClause += selection;  } 注:"==&qu

  • java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法. 1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public static void main(Strin

  • java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat

  • javaScript 判断字符串是否为数字的简单方法

    复制代码 代码如下: parseInt("Hello",10);//return NAN   parseInt("110",10);//return 110 所以简单的判断字符串是否为数字的方法就是利用isNaN(),如果返回true,则该字符串不为数字,否则为数字 复制代码 代码如下: isNaN(parseInt("Hello",10));//true;   isNaN(parseInt("110",10));//fals

  • 利用JS判断字符串是否含有数字与特殊字符的方法小结

    前言 本文主要介绍的是利用JS判断字符串是否含有数字与特殊字符的方法,文中有几种不同的方法,包括普通的JS验证法.正则表达式法,另外还有判断是否为浮点数的js函数,在最后还将简要介绍下isNAN函数的使用方法和例子,来一起学习学习吧. 一.正则表达式方法判断是否为数字,包括判断正整数: function checkRate(input) { var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字,//若判断正整数,则后边是:/^[1-9]+[0-9]*]*$/ if

  • C#判断字符串是否是数字(实例)

    话不多说,请看代码 /// <summary> /// 判断字符串是否是数字 /// </summary> public static bool IsNumber(string s) { if (string.IsNullOrWhiteSpace(s)) return false; const string pattern = "^[0-9]*$"; Regex rx = new Regex(pattern); return rx.IsMatch(s); } 以

随机推荐