找回密码
 会员注册
查看: 28|回复: 0

Python酷库之旅-第三方库Pandas(086)

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-9-10 03:25:47 | 显示全部楼层 |阅读模式
目录一、用法精讲361、pandas.Series.cat.codes属性361-1、语法361-2、参数361-3、功能361-4、返回值361-5、说明361-6、用法361-6-1、数据准备361-6-2、代码示例361-6-3、结果输出362、pandas.Series.cat.rename_categories方法362-1、语法362-2、参数362-3、功能362-4、返回值362-5、说明362-6、用法362-6-1、数据准备362-6-2、代码示例362-6-3、结果输出363、pandas.Series.cat.reorder_categories方法363-1、语法363-2、参数363-3、功能363-4、返回值363-5、说明363-6、用法363-6-1、数据准备363-6-2、代码示例363-6-3、结果输出364、pandas.Series.cat.add_categories方法364-1、语法364-2、参数364-3、功能364-4、返回值364-5、说明364-6、用法364-6-1、数据准备364-6-2、代码示例364-6-3、结果输出365、pandas.Series.cat.remove_categories方法365-1、语法365-2、参数365-3、功能365-4、返回值365-5、说明365-6、用法365-6-1、数据准备365-6-2、代码示例365-6-3、结果输出 二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲361、pandas.Series.cat.codes属性361-1、语法#361、pandas.Series.cat.codes属性pandas.Series.cat.codesReturnSeriesofcodesaswellastheindex.361-2、参数    无361-3、功能        将分类数据中的每个类别映射为一个唯一的整数代码,并返回一个与原始分类数据相对应的整数序列。361-4、返回值        返回值是一个与原分类数据长度相同的pandas.Series对象,该Series对象的值是整数代码,代表原始分类数据中的类别。361-5、说明    无361-6、用法361-6-1、数据准备无361-6-2、代码示例#361、pandas.Series.cat.codes属性importpandasaspd#创建一个分类序列s=pd.Series(["dog","cat","dog","fish","cat"],dtype="category")#获取类别代码codes=s.cat.codesprint(codes)361-6-3、结果输出#361、pandas.Series.cat.codes属性#01#10#21#32#40#dtype:int8362、pandas.Series.cat.rename_categories方法362-1、语法#362、pandas.Series.cat.rename_categories方法pandas.Series.cat.rename_categories(*args,**kwargs)Renamecategories.Parameters:new_categorieslist-like,dict-likeorcallableNewcategorieswhichwillreplaceoldcategories.list-like:allitemsmustbeuniqueandthenumberofitemsinthenewcategoriesmustmatchtheexistingnumberofcategories.dict-like:specifiesamappingfromoldcategoriestonew.Categoriesnotcontainedinthemappingarepassedthroughandextracategoriesinthemappingareignored.callable:acallablethatiscalledonallitemsintheoldcategoriesandwhosereturnvaluescomprisethenewcategories.Returns:CategoricalCategoricalwithrenamedcategories.Raises:ValueErrorIfnewcategoriesarelist-likeanddonothavethesamenumberofitemsthanthecurrentcategoriesordonotvalidateascategories.362-2、参数362-2-1、new_categories(必须):数组、序列或映射,指定要替换现有类别的新类别,长度必须与当前分类类别的数量相同。362-2-2、inplace(可选,默认值为False):布尔值,如果为True,则直接修改原分类对象,而不返回新的对象;如果为False,则返回修改后的新对象,原对象保持不变。362-2-3、ordered(可选,默认值为None):布尔值或None,如果为True,则新的分类是有序的;如果为False,则新的分类是无序的;如果设置为None,则保持原分类的顺序属性不变。362-2-4、rename_axis(可选,默认值为None):布尔值或None,是否同时重命名轴名称。362-3、功能        重命名分类数据中的类别,而不会影响数据中类别的顺序或数据本身,该方法常用于需要对类别进行更有意义或更符合业务需求的名称修改时。362-4、返回值        如果inplace=False(默认值),返回的是一个新的pandas.Series对象,其分类类别根据new_categories被重命名;如果inplace=True,则返回None,修改直接应用于原始对象。362-5、说明    使用场景:362-5-1、提高可读性和可理解性:在数据分析和处理过程中,分类数据的标签有时可能是简写、缩写或编码格式。为了提高数据的可读性,便于分析和报告,可以使用该方法将这些标签重命名为更具描述性和可理解性的名称。362-5-2、业务需求的调整:随着业务需求的变化,数据分类标签可能需要调整以反映新的业务逻辑或结构。例如,产品类别的名称可能发生变化,需要将旧的类别名称更新为新的类别名称。362-5-3、统一分类标签:在合并不同数据源或数据集时,不同数据源可能对同一类别使用不同的标签,使用该方法可以统一这些标签,确保数据的一致性。362-5-4、去除不必要的分类信息:在某些情况下,原始数据的分类标签可能包含冗余或不必要的信息,使用该方法可以简化这些标签,使数据更加简洁和易于使用。362-5-5、处理数据中的错别字或格式问题:有时候,数据分类标签可能包含拼写错误或格式不一致的问题,通过该方法可以轻松地修复这些问题。362-5-6、数据标准化:在进行数据分析和机器学习建模时,标准化的分类标签能够帮助模型更好地理解数据,通过该方法可以确保分类标签的标准化。362-6、用法362-6-1、数据准备无362-6-2、代码示例#362、pandas.Series.cat.rename_categories方法#362-1、提高可读性和可理解性importpandasaspd#创建分类数据data=pd.Series(['M','F','M','F','F'],dtype='category')#重命名分类标签data=data.cat.rename_categories({'M':'Male','F':'Female'})print(data,end='\n\n')#362-2、业务需求的调整importpandasaspd#创建分类数据data=pd.Series(['A','B','A','C'],dtype='category')#重命名分类标签data=data.cat.rename_categories({'A':'Product_A','B':'Product_B','C':'Product_C'})print(data,end='\n\n')#362-3、去除不必要的分类信息importpandasaspd#创建分类数据data=pd.Series(['Category_A','Category_B','Category_C'],dtype='category')#简化分类标签data=data.cat.rename_categories({'Category_A':'A','Category_B':'B','Category_C':'C'})print(data,end='\n\n')#362-4、处理数据中的错别字或格式问题importpandasaspd#创建包含拼写错误的分类数据data=pd.Series(['appl','bananna','orrange'],dtype='category')#修正分类标签data=data.cat.rename_categories({'appl':'apple','bananna':'banana','orrange':'orange'})print(data,end='\n\n')#362-5、数据标准化importpandasaspd#创建分类数据data=pd.Series(['Low','Medium','High'],dtype='category')#标准化分类标签data=data.cat.rename_categories({'Low':'1','Medium':'2','High':'3'})print(data)362-6-3、结果输出#362、pandas.Series.cat.rename_categories方法#362-1、提高可读性和可理解性#0Male#1Female#2Male#3Female#4Female#dtype:category#Categories(2,object):['Female','Male']#362-2、业务需求的调整#0Product_A#1Product_B#2Product_A#3Product_C#dtype:category#Categories(3,object):['Product_A','Product_B','Product_C']#362-3、去除不必要的分类信息#0A#1B#2C#dtype:category#Categories(3,object):['A','B','C']#362-4、处理数据中的错别字或格式问题#0apple#1banana#2orange#dtype:category#Categories(3,object):['apple','banana','orange']#362-5、数据标准化#01#12#23#dtype:category#Categories(3,object):['3','1','2']363、pandas.Series.cat.reorder_categories方法363-1、语法#363、pandas.Series.cat.reorder_categories方法pandas.Series.cat.reorder_categories(*args,**kwargs)Reordercategoriesasspecifiedinnew_categories.new_categoriesneedtoincludealloldcategoriesandnonewcategoryitems.Parameters:new_categoriesIndex-likeThecategoriesinneworder.orderedbool,optionalWhetherornotthecategoricalistreatedasaorderedcategorical.Ifnotgiven,donotchangetheorderedinformation.Returns:CategoricalCategoricalwithreorderedcategories.Raises:ValueErrorIfthenewcategoriesdonotcontainalloldcategoryitemsoranynewones.363-2、参数363-2-1、new_categories(必须):数组、序列或映射,指定要替换现有类别的新类别,长度必须与当前分类类别的数量相同。363-2-2、inplace(可选,默认值为False):布尔值,如果为True,则直接修改原分类对象,而不返回新的对象;如果为False,则返回修改后的新对象,原对象保持不变。363-2-3、ordered(可选,默认值为None):布尔值或None,如果为True,则新的分类是有序的;如果为False,则新的分类是无序的;如果设置为None,则保持原分类的顺序属性不变。363-3、功能        用于在分类数据中重新排序类别,特别是在处理有序分类数据时,这个方法非常有用,因为它允许你定义类别的顺序,这在数据分析中可能会影响到排序、比较和分组操作。363-4、返回值        如果inplace=False(默认值),则返回一个新的Categorical或Series对象,类别按照指定顺序重新排列;如果inplace=True,则直接在原对象上进行修改,返回None。363-5、说明    无363-6、用法363-6-1、数据准备无363-6-2、代码示例#363、pandas.Series.cat.reorder_categories方法importpandasaspd#创建一个有类别顺序的Seriescat_series=pd.Series(["low","medium","high"],dtype="category")cat_series=cat_series.cat.reorder_categories(["high","medium","low"],ordered=True)print(cat_series)363-6-3、结果输出#363、pandas.Series.cat.reorder_categories方法#0low#1medium#2high#dtype:category#Categories(3,object):['high'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 20:34 , Processed in 0.963046 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表