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

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

[复制链接]

13

主题

0

回帖

40

积分

新手上路

积分
40
发表于 2024-9-10 03:29:04 | 显示全部楼层 |阅读模式
目录一、用法精讲371、pandas.Series.sparse.density属性371-1、语法371-2、参数371-3、功能371-4、返回值371-5、说明371-6、用法371-6-1、数据准备371-6-2、代码示例371-6-3、结果输出372、pandas.Series.sparse.fill_value属性372-1、语法372-2、参数372-3、功能372-4、返回值372-5、说明372-6、用法372-6-1、数据准备372-6-2、代码示例372-6-3、结果输出373、pandas.Series.sparse.sp_values属性373-1、语法373-2、参数373-3、功能373-4、返回值373-5、说明373-6、用法373-6-1、数据准备373-6-2、代码示例373-6-3、结果输出374、pandas.Series.sparse.from_coo方法374-1、语法374-2、参数374-3、功能374-4、返回值374-5、说明374-6、用法374-6-1、数据准备374-6-2、代码示例374-6-3、结果输出375、pandas.Series.sparse.to_coo方法375-1、语法375-2、参数375-3、功能375-4、返回值375-5、说明375-6、用法375-6-1、数据准备375-6-2、代码示例375-6-3、结果输出二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲371、pandas.Series.sparse.density属性371-1、语法#371、pandas.Series.sparse.density属性pandas.Series.sparse.densityThepercentofnon-fill_valuepoints,asdecimal.371-2、参数    无371-3、功能        计算并返回稀疏Series中非缺失(有效)值的占比。371-4、返回值        返回一个浮点数,取值范围从0到1:0 表示该稀疏Series中没有非缺失值。1 表示该稀疏Series中所有值都是非缺失值。其他值则表示非缺失值与总值的比例,例如0.25表示有25%的值是非缺失的。371-5、说明    无371-6、用法371-6-1、数据准备无371-6-2、代码示例#371、pandas.Series.sparse.density属性importpandasaspdimportnumpyasnp#创建一个稀疏Seriess=pd.Series(pd.arrays.SparseArray([1,np.nan,2,np.nan,3]))#获取非缺失值的密度density=s.sparse.densityprint("非缺失值的密度:",density)371-6-3、结果输出#371、pandas.Series.sparse.density属性#非缺失值的密度:0.6372、pandas.Series.sparse.fill_value属性372-1、语法#372、pandas.Series.sparse.fill_value属性pandas.Series.sparse.fill_valueElementsindatathatarefill_valuearenotstored.Formemorysavings,thisshouldbethemostcommonvalueinthearray.372-2、参数    无372-3、功能        在稀疏数组中那些未显式存储元素的默认值。例如,如果fill_value被设置为0,那么所有未存储的元素都会被视为0,该属性使得稀疏数据结构更高效,因为仅需存储那些与fill_value不同的元素。372-4、返回值        返回值是稀疏数组中默认填充值的类型和值。例如:如果你创建了一个稀疏数组并指定fill_value=0,那么这个属性将返回0。如果你创建了一个稀疏数组并指定fill_value=-1,那么这个属性将返回-1。372-5、说明    无372-6、用法372-6-1、数据准备无372-6-2、代码示例#372、pandas.Series.sparse.fill_value属性importpandasaspdimportnumpyasnp#创建一个稀疏Series,缺失值默认填充为0s=pd.Series(pd.arrays.SparseArray([1,np.nan,2,np.nan,3]))#查看fill_value属性print(s.sparse.fill_value)#创建一个自定义fill_value的稀疏Seriess_custom=pd.Series(pd.arrays.SparseArray([1,-1,2,-1,3],fill_value=-1))#查看自定义fill_value属性print(s_custom.sparse.fill_value)372-6-3、结果输出#372、pandas.Series.sparse.fill_value属性#nan#-1373、pandas.Series.sparse.sp_values属性373-1、语法#373、pandas.Series.sparse.sp_values属性pandas.Series.sparse.sp_valuesAnndarraycontainingthenon-fill_valuevalues.373-2、参数    无373-3、功能        提取稀疏数组中的实际存储数据,这些数据是与fill_value不同的值,因为稀疏数组不存储与fill_value相同的元素,所以sp_values只会包含那些显式存储的、非默认的元素。373-4、返回值        返回一个NumPy数组,包含稀疏数组中的实际存储值,这些值与fill_value不同,并且是稀疏数据中需要存储和操作的部分。373-5、说明    无373-6、用法373-6-1、数据准备无373-6-2、代码示例#373、pandas.Series.sparse.sp_values属性importpandasaspdimportnumpyasnp#创建一个稀疏Series,缺失值默认填充为0s=pd.Series(pd.arrays.SparseArray([1,0,2,0,3]))#查看sp_values属性print(s.sparse.sp_values)#创建一个自定义fill_value的稀疏Seriess_custom=pd.Series(pd.arrays.SparseArray([1,-1,2,-1,3],fill_value=-1))#查看自定义fill_value的sp_values属性print(s_custom.sparse.sp_values)373-6-3、结果输出#373、pandas.Series.sparse.sp_values属性#[123]#[123]374、pandas.Series.sparse.from_coo方法374-1、语法#374、pandas.Series.sparse.from_coo方法pandas.Series.sparse.from_coo(A,dense_index=False)CreateaSerieswithsparsevaluesfromascipy.sparse.coo_matrix.Parameters:Ascipy.sparse.coo_matrixdense_indexbool,defaultFalseIfFalse(default),theindexconsistsofonlythecoordsofthenon-nullentriesoftheoriginalcoo_matrix.IfTrue,theindexconsistsofthefullsorted(row,col)coordinatesofthecoo_matrix.Returns:sSeriesASerieswithsparsevalues.374-2、参数374-2-1、A(必须):一个稀疏矩阵,通常是从scipy.sparse.coo_matrix或类似的稀疏格式创建的矩阵,它表示了一个二维的稀疏矩阵。374-2-2、dense_index(可选,默认值为False):一个布尔值参数,表示返回的Series会使用稀疏的索引,如果设置为True,则返回的Series会使用密集的索引。374-3、功能        将一个COO格式的稀疏矩阵转换为pandas.Series对象,这对于在pandas中处理稀疏数据非常有用,因为可以直接将稀疏矩阵转换为Series形式,从而利用pandas的功能进行进一步的数据操作和分析。374-4、返回值        返回一个稀疏Series对象,其中包含了从稀疏矩阵A中提取的数据。374-5、说明    无374-6、用法374-6-1、数据准备无374-6-2、代码示例#374、pandas.Series.sparse.from_coo方法importpandasaspdimportscipy.sparseassp#创建一个稀疏的COO矩阵A=sp.coo_matrix([[1,0,0],[0,0,2],[0,3,0]])#从COO矩阵创建一个稀疏的pandasSeriessparse_series=pd.Series.sparse.from_coo(A)print(sparse_series)374-6-3、结果输出#374、pandas.Series.sparse.from_coo方法#001#122#213#dtype:Sparse[int32,0]375、pandas.Series.sparse.to_coo方法375-1、语法#375、pandas.Series.sparse.to_coo方法pandas.Series.sparse.to_coo(row_levels=(0,),column_levels=(1,),sort_labels=False)Createascipy.sparse.coo_matrixfromaSerieswithMultiIndex.Userow_levelsandcolumn_levelstodeterminetherowandcolumncoordinatesrespectively.row_levelsandcolumn_levelsarethenames(labels)ornumbersofthelevels.{row_levels,column_levels}mustbeapartitionoftheMultiIndexlevelnames(ornumbers).Parameters:row_levelstuple/listcolumn_levelstuple/listsort_labelsbool,defaultFalseSorttherowandcolumnlabelsbeforeformingthesparsematrix.Whenrow_levelsand/orcolumn_levelsrefertoasinglelevel,settoTrueforafasterexecution.Returns:yscipy.sparse.coo_matrixrowslist(rowlabels)columnslist(columnlabels)375-2、参数375-2-1、row_levels(可选,默认值为(0,)):一个元组或列表,用于指定将Series的索引级别映射为稀疏矩阵的行索引,默认值为(0,),表示使用Series的第一个索引级别作为行索引。375-2-2、column_levels(可选,默认值为(1,)):一个元组或列表,用于指定将Series的索引级别映射为稀疏矩阵的列索引,默认值为(1,),表示使用Series的第二个索引级别作为列索引。375-2-3、sort_labels(可选,默认值为False):一个布尔值参数,如果设置为True,则会在转换之前对行和列的标签进行排序。对于大多数情况,不排序会更高效,尤其是索引已经排序的情况下。375-3、功能        将一个多层索引的稀疏Series转换为一个COO格式的稀疏矩阵,这在处理需要矩阵表示的数据时非常有用,特别是在进行线性代数操作或使用其他需要稀疏矩阵的库时(例如scipy.sparse)。375-4、返回值        返回一个scipy.sparse.coo_matrix对象,这是一个标准的COO格式稀疏矩阵。375-5、说明    无375-6、用法375-6-1、数据准备无375-6-2、代码示例#375、pandas.Series.sparse.to_coo方法importpandasaspd#创建一个稀疏的Series带有多层索引s=pd.Series([1,2,3],index=pd.MultiIndex.from_tuples([(0,1),(1,2),(2,0)]),dtype="Sparse[int]")#将Series转换为COO格式的稀疏矩阵coo_matrix=s.sparse.to_coo(row_levels=(0,),column_levels=(1,))#打印稀疏矩阵print(coo_matrix)375-6-3、结果输出#375、pandas.Series.sparse.to_coo方法#('# with3storedelementsinCOOrdinateformat>,[(0,),(1,),(2,)],[(1,),(2,),(0,)])二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-8 11:51 , Processed in 0.503722 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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