pandas的Categorical方法

  对于数据样本的标签,如果我们事先不知道这个样本有多少类别,那么可以对数据集的类别列进行统计,这时我们用pandas的Categorical方法就非常快的实现。

1.说明: 

  你的数据最好是一个series,之后,pd.Categorical(series),得到分类的对象,使用categories或者codes进行查看

2.操作:

pd.Categorical( list ).codes 这样就可以直接得到原始数据的对应的序号列表,通过这样的处理可以将类别信息转化成数值信息 ,这样就可以应用到模型中去了

代码:

  

 1 import tensorflow
 2 import lightgbm as lgb
 3 import pandas as pd
 4
 5
 6 class Deng(object):
 7     def __init__(self):
 8         pass
 9
10     def main(self):
11         temp = [‘a‘, ‘a‘, ‘b‘, ‘c‘, ‘c‘]
12         st = pd.Categorical(temp)
13         print(st)
14         # [a, a, b, c, c]
15         # Categories(3, object): [a, b, c]
16
17         # 遍历temp指出temp中每个字符所属类别的位置索引
18         st2 = st.codes
19         print(st2)
20         # [0 0 1 2 2]
21
22
23 if __name__ == ‘__main__‘:
24     obj = Deng()
25     obj.main()

  

原文地址:https://www.cnblogs.com/demo-deng/p/9614377.html

时间: 2024-10-12 14:59:09

pandas的Categorical方法的相关文章

Pandas的Categorical Data类型

pandas从0.15版开始提供分类数据类型,用于表示统计学里有限且唯一性数据集,例如描述个人信息的性别一般就男和女两个数据常用'm'和'f'来描述,有时也能对应编码映射为0和1.血型A.B.O和AB型等选择可以映射为0.1.2.3这四个数字分别代表各个血型.pandas里直接就有categorical类型,可以有效地对数据进行分组进行相应的汇总统计工作. 当DataFrame的某列(字段)上的数据值是都是某有限个数值的集合里的值的时候,例如:性别就男和女,有限且唯一.这列可以采用Categor

pandas 常用统计方法

统计方法 pandas 对象有一些统计方法.它们大部分都属于约简和汇总统计,用于从 Series 中提取单个值,或从 DataFrame 的行或列中提取一个 Series. 比如 DataFrame.mean(axis=0,skipna=True) 方法,当数据集中存在 NA 值时,这些值会被简单跳过,除非整个切片(行或列)全是 NA,如果不想这样,则可以通过 skipna=False 来禁用此功能: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

pandas.DataFrame 索引方法区别

有三种索引:ix,iloc,loc: 使用方法都是 __.ix[row, columns] 详细的见 pandas 文档. 需要注意的差别是: 1,ix方法 混合索引和位置下标(必须是整数),先考虑是否是在标签索引中,然后考虑是位置下标.如果是整数作为index,ix就按照索引标签选取.  loc方法按照标签,iloc方法按位置下标. 2,虽然都支持切片,单个选择也超出范围: 但是,单个赋值的时候,ix方法可以选择不再索引内的,类似字典的方式新建一个标签行或列. 一般情况最好明确使用标签还是位置

Python openpyxl、pandas操作Excel方法简介与具体实例

本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据分析模块Pandas也提供pandas.read_excel.pandas.DataFrame.to_excel功能. 那么openpyxl的库有哪些优缺点呢: 优势: 1.openpyxl提供对pandas的dataframe对象完美支持: 2.openpyxl支持后台静默打开excel文件: 3

pandas的qcut()方法

pandas的qcut可以把一组数字按大小区间进行分区,比如 data = pd.Series([0,8,1,5,3,7,2,6,10,4,9]) 比如我要把这组数据分成两部分,一半大的,一半小的,如果是小的数,值就变成'small number',大的数,值就变成'large number': print(pd.qcut(data,[0,0.5,1],labels=['small number','large number'])) 0 small numbers 1 large numbers

pandas的concat方法

concat方法,用于拼接pandas数据,用处比较大 函数: 1 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, 2 keys=None, levels=None, names=None, verify_integrity=False) 参数说明: objs:pandas数据,可以是series,dataFrame,或者是panel构成的序列 axis:需要合并拼接的轴,0表示行,1表示列 jo

pandas一些使用方法整理

1.关于读取文件报错: low_memory的作用: 如果说不指定dtype的话,默认的熊猫在读取的时候会提取该字段下面空间占用最小的作为内存存储单位,如果指定 low_memory=False的话,直接跳过这个判断步骤,默认已存储单位最长的作为存储单位: 2.使用熊猫进行大规模数据读取时,分块读取 cuiji1_1=pd.read_csv('cuiji1_1.csv',low_memory=False)cuiji1_2=pd.read_csv('cuiji1_2.csv',low_memory

pandas的merge方法

数据合并时可以使用merge方法,对两个dataFrame根据某一个series合并,这个方法非常好用,只要找到了合并的标准,新的数据就可以重构出来. 1.命令: pd.merge() on:列名,join用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名. left_on:左表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays. right_on:右表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays. le

pandas中assign方法的使用

assign是直接向DataFrame对象添加新的一列 示例: import numpy as np import pandas as pd data = {'name':['lily','jack','hanson','bom'],'age':np.random.randint(15,25,size=4),'gerder':['F','M','M','F']} df = pd.DataFrame(data) df.assign(score=np.random.randint(60,100,si