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

news2024/10/9 1:23:57

目录

一、用法精讲

606、pandas.DataFrame.sparse.from_spmatrix方法

606-1、语法

606-2、参数

606-3、功能

606-4、返回值

606-5、说明

606-6、用法

606-6-1、数据准备

606-6-2、代码示例

606-6-3、结果输出

607、pandas.DataFrame.sparse.to_coo方法

607-1、语法

607-2、参数

607-3、功能

607-4、返回值

607-5、说明

607-6、用法

607-6-1、数据准备

607-6-2、代码示例

607-6-3、结果输出

608、pandas.DataFrame.sparse.to_dense方法

608-1、语法

608-2、参数

608-3、功能

608-4、返回值

608-5、说明

608-6、用法

608-6-1、数据准备

608-6-2、代码示例

608-6-3、结果输出

609、pandas.DataFrame.from_dict方法

609-1、语法

609-2、参数

609-3、功能

609-4、返回值

609-5、说明

609-6、用法

609-6-1、数据准备

609-6-2、代码示例

609-6-3、结果输出

610、pandas.DataFrame.from_records方法

610-1、语法

610-2、参数

610-3、功能

610-4、返回值

610-5、说明

610-6、用法

610-6-1、数据准备

610-6-2、代码示例

610-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

606、pandas.DataFrame.sparse.from_spmatrix方法
606-1、语法
# 606、pandas.DataFrame.sparse.from_spmatrix方法
classmethod pandas.DataFrame.sparse.from_spmatrix(data, index=None, columns=None)
Create a new DataFrame from a scipy sparse matrix.

Parameters:
data
scipy.sparse.spmatrix
Must be convertible to csc format.

index, columns
Index, optional
Row and column labels to use for the resulting DataFrame. Defaults to a RangeIndex.

Returns:
DataFrame
Each column of the DataFrame is stored as a arrays.SparseArray.
606-2、参数

606-2-1、data(必须)scipy.sparse矩阵,表示输入的稀疏矩阵,可以是多种稀疏格式(如CSR、CSC等),该参数是必需的,表示待转换的稀疏数据。

606-2-2、index(可选,默认值为None)array-like,用于指定DataFrame的行索引,必须和稀疏矩阵的行数匹配,如果没有指定,默认会生成整数索引。

606-2-3、columns(可选,默认值为None)array-like,用于指定DataFrame的列索引,必须和稀疏矩阵的列数匹配,如果没有指定,默认会生成整数索引。

606-3、功能

        快速将一个scipy的稀疏矩阵转换为Pandas的稀疏DataFrame,这种转换使得后续的数据分析和处理更加方便,同时有效利用内存,特别是当数据集中含有大量零值时。

606-4、返回值

        返回一个新的稀疏DataFrame,其中仅保留稀疏矩阵中的非零元素,并使用Pandas的稀疏数据结构进行存储,这个DataFrame可以利用Pandas提供的各种数据操作、筛选和分析功能。

606-5、说明

        无

606-6、用法
606-6-1、数据准备
606-6-2、代码示例
# 606、pandas.DataFrame.sparse.from_spmatrix方法
import pandas as pd
import numpy as np
from scipy.sparse import csr_matrix
# 创建一个稀疏矩阵
data = np.array([[0, 0, 3], [4, 0, 0], [0, 5, 6]])
sparse_matrix = csr_matrix(data)
# 从稀疏矩阵创建稀疏DataFrame
sparse_df = pd.DataFrame.sparse.from_spmatrix(sparse_matrix,
                                               index=['row1', 'row2', 'row3'],
                                               columns=['col1', 'col2', 'col3'])
print(sparse_df)
606-6-3、结果输出
# 606、pandas.DataFrame.sparse.from_spmatrix方法
#       col1  col2  col3
# row1     0     0     3
# row2     4     0     0
# row3     0     5     6
607、pandas.DataFrame.sparse.to_coo方法
607-1、语法
# 607、pandas.DataFrame.sparse.to_coo方法
pandas.DataFrame.sparse.to_coo()
Return the contents of the frame as a sparse SciPy COO matrix.

Returns:
scipy.sparse.spmatrix
If the caller is heterogeneous and contains booleans or objects, the result will be of dtype=object. See Notes.

Notes

The dtype will be the lowest-common-denominator type (implicit upcasting); that is to say if the dtypes (even of numeric types) are mixed, the one that accommodates all will be chosen.

e.g. If the dtypes are float16 and float32, dtype will be upcast to float32. By numpy.find_common_type convention, mixing int64 and and uint64 will result in a float64 dtype.
607-2、参数

        无

607-3、功能

        将一个Pandas稀疏DataFrame转换为scipy.sparse提供的COO格式的稀疏矩阵,使用COO格式能够高效地存储和操作稀疏数据,并便于后续的计算和分析。

607-4、返回值

        返回一个COO格式的稀疏矩阵,包含稀疏DataFrame中非零元素的坐标和数值,这种结构在进行稀疏矩阵的加法、乘法等操作时非常方便。

607-5、说明

        无

607-6、用法
607-6-1、数据准备
607-6-2、代码示例
# 607、pandas.DataFrame.sparse.to_coo方法
import pandas as pd
import numpy as np
from scipy import sparse
# 创建一个普通DataFrame
data = {'A': [0, 0, 3], 'B': [4, 0, 0], 'C': [0, 5, 6]}
df = pd.DataFrame(data)
# 将DataFrame转换为稀疏DataFrame
sparse_df = df.astype(pd.SparseDtype("float", 0))
# 将稀疏DataFrame转换为COO格式稀疏矩阵
coo_matrix = sparse_df.sparse.to_coo()
print(coo_matrix)
607-6-3、结果输出
# 607、pandas.DataFrame.sparse.to_coo方法
# (2, 0)      3.0
# (0, 1)      4.0
# (1, 2)      5.0
# (2, 2)      6.0
608、pandas.DataFrame.sparse.to_dense方法
608-1、语法
# 608、pandas.DataFrame.sparse.to_dense方法
pandas.DataFrame.sparse.to_dense()
Convert a DataFrame with sparse values to dense.

Returns:
DataFrame
A DataFrame with the same values stored as dense arrays.
608-2、参数

        无

608-3、功能

        将一个稀疏DataFrame(即其中的空值或零值以更节省空间的方式存储)转换为一个密集DataFrame,这将使得数据不再使用稀疏存储技术,但更易于作一般性的数据处理、计算以及与使用普通DataFrame方法的兼容性。

608-4、返回值

        返回一个标准的pandas.DataFrame对象,其中所有原本稀疏存储的数据都被完整地表示出来,转换后,这个DataFrame与任何在非稀疏情况下创建的DataFrame完全一致,没有稀疏结构。

608-5、说明

        无

608-6、用法
608-6-1、数据准备
608-6-2、代码示例
# 608、pandas.DataFrame.sparse.to_dense方法
import pandas as pd
import numpy as np
# 创建一个稀疏数据矩阵
data = {
    'A': pd.arrays.SparseArray([0, 1, 0, 0, 2]),
    'B': pd.arrays.SparseArray([0, 0, 0, 5, 0]),
}
# 将稀疏数据转换为DataFrame
sparse_df = pd.DataFrame(data)
print("稀疏DataFrame:")
print(sparse_df)
# 使用to_dense()方法将稀疏DataFrame转换为密集DataFrame
dense_df = sparse_df.sparse.to_dense()
print("\n密集DataFrame:")
print(dense_df)
608-6-3、结果输出
# 608、pandas.DataFrame.sparse.to_dense方法
# 稀疏DataFrame:
#    A  B
# 0  0  0
# 1  1  0
# 2  0  0
# 3  0  5
# 4  2  0
# 
# 密集DataFrame:
#    A  B
# 0  0  0
# 1  1  0
# 2  0  0
# 3  0  5
# 4  2  0
609、pandas.DataFrame.from_dict方法
609-1、语法
# 609、pandas.DataFrame.from_dict方法
classmethod pandas.DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)
Construct DataFrame from dict of array-like or dicts.

Creates DataFrame object from dictionary by columns or by index allowing dtype specification.

Parameters:
datadict
Of the form {field : array-like} or {field : dict}.

orient{‘columns’, ‘index’, ‘tight’}, default ‘columns’
The “orientation” of the data. If the keys of the passed dict should be the columns of the resulting DataFrame, pass ‘columns’ (default). Otherwise if the keys should be rows, pass ‘index’. If ‘tight’, assume a dict with keys [‘index’, ‘columns’, ‘data’, ‘index_names’, ‘column_names’].

New in version 1.4.0: ‘tight’ as an allowed value for the orient argument

dtypedtype, default None
Data type to force after DataFrame construction, otherwise infer.

columnslist, default None
Column labels to use when orient='index'. Raises a ValueError if used with orient='columns' or orient='tight'.

Returns:
DataFrame.
609-2、参数

609-2-1、data(必须)字典,表示包含数据的字典,其中键表示列标签(当orient='columns'时)或行索引(当orient='index'时),而值是可迭代对象(如列表、数组等),表示数据。

609-2-2、orient(可选,默认值为'columns')字符串,指定字典的布局方式,可选值包括:

  • 'columns':数据的键作为列标签,值作为列数据(默认设置)。
  • 'index':数据的键作为行索引,值作为行数据。

609-2-3、dtype(可选,默认值为None)dtype或None,指定DataFrame所有列的数据类型,如果未提供,将根据数据类型自动推断。

609-2-4、columns(可选,默认值为None)list-like,指定DataFrame的列标签(仅在orient='index'模式中使用时有效),如果提供,它应该是data中所有键的一个子集或全部。

609-3、功能

        将复杂结构(如嵌套字典)转换为DataFrame,方便后续的数据分析和操作,支持从多种形式的数据来源快速构建DataFrame,特别适合处理字典格式的数据输入,通过参数控制最终生成的DataFrame的结构和数据类型。

609-4、返回值

        返回一个DataFrame​​​​​​​对象,根据data和其他参数决定最终的结构。

609-5、说明

        无

609-6、用法
609-6-1、数据准备
609-6-2、代码示例
# 609、pandas.DataFrame.from_dict方法
# 609-1、使用默认参数
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame.from_dict(data)
print(df, end='\n\n')

# 609-2、设置orient='index'
import pandas as pd
data = {0: [1, 4], 1: [2, 5], 2: [3, 6]}
df = pd.DataFrame.from_dict(data, orient='index', columns=['A', 'B'])
print(df, end='\n\n')

# 609-3、设置dtype
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame.from_dict(data, dtype='float')
print(df)
609-6-3、结果输出
# 609、pandas.DataFrame.from_dict方法
# 609-1、使用默认参数
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

# 609-2、设置orient='index'
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

# 609-3、设置dtype
#      A    B
# 0  1.0  4.0
# 1  2.0  5.0
# 2  3.0  6.0
610、pandas.DataFrame.from_records方法
610-1、语法
# 610、pandas.DataFrame.from_records方法
classmethod pandas.DataFrame.from_records(data, index=None, exclude=None, columns=None, coerce_float=False, nrows=None)
Convert structured or record ndarray to DataFrame.

Creates a DataFrame object from a structured ndarray, sequence of tuples or dicts, or DataFrame.

Parameters:
datastructured ndarray, sequence of tuples or dicts, or DataFrame
Structured input data.

Deprecated since version 2.1.0: Passing a DataFrame is deprecated.

indexstr, list of fields, array-like
Field of array to use as the index, alternately a specific set of input labels to use.

excludesequence, default None
Columns or fields to exclude.

columnssequence, default None
Column names to use. If the passed data do not have names associated with them, this argument provides names for the columns. Otherwise this argument indicates the order of the columns in the result (any names not found in the data will become all-NA columns).

coerce_floatbool, default False
Attempt to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point, useful for SQL result sets.

nrowsint, default None
Number of rows to read if data is an iterator.

Returns:
DataFrame.
610-2、参数

610-2-1、data(必须)array-like(如列表、元组等),表示输入数据,可以是嵌套的序列(如列表、元组),也可以是字典或其他结构化形式的记录。

610-2-2、index(可选,默认值为None)array-like或None,用于指定DataFrame的行索引,如果没有提供,默认将使用0到n-1的范围。 

610-2-3、exclude(可选,默认值为None)array-like或None,指定要排除的列名(仅适用于数据为字典形式时)。

610-2-4、columns(可选,默认值为None)array-like,指定最终DataFrame的列名。

610-2-5、coerce_float(可选,默认值为False)布尔值,是否将非整数字符串转换为浮点数。

610-2-6、nrows(可选,默认值为None)整数,指定要读取的行数,如果为None,则读取所有行。

610-3、功能

        将一组结构化的记录快速转换为DataFrame​​​​​​​,适合处理外部数据源(如数据库查询结果)或程序生成的数据,支持灵活的数据筛选,使用户能够排除某些列、设置行索引、指定列名等,方便的类型转换选项(如coerce_float)可以确保数据类型一致性。

610-4、返回值

        返回生成的DataFrame对象,结构根据data和其他参数决定。

610-5、说明

        无

610-6、用法
610-6-1、数据准备
610-6-2、代码示例
# 610、pandas.DataFrame.from_records方法
# 610-1、从列表构建DataFrame
import pandas as pd
data = [(1, 4), (2, 5), (3, 6)]
df = pd.DataFrame.from_records(data, columns=['A', 'B'])
print(df, end='\n\n')

# 610-2、自定义行索引
import pandas as pd
data = [(1, 'Myelsa'), (2, 'Bryce'), (3, 'Jimmy')]
df = pd.DataFrame.from_records(data, index=[101, 102, 103], columns=['ID', 'Name'])
print(df, end='\n\n')

# 610-3、排除某些列
import pandas as pd
data = [{'A': 1, 'B': 2, 'C': 3}, {'A': 4, 'B': 5, 'C': 6}]
df = pd.DataFrame.from_records(data, exclude=['B'])
print(df, end='\n\n')

# 610-4、强制转换为浮点数
import pandas as pd
data = [{'A': '1.0', 'B': '4.0'}, {'A': '2.5', 'B': '5.5'}]
df = pd.DataFrame.from_records(data, coerce_float=True)
print(df)
610-6-3、结果输出
# 610、pandas.DataFrame.from_records方法
# 610-1、从列表构建DataFrame
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

# 610-2、自定义行索引
#      ID    Name
# 101   1  Myelsa
# 102   2   Bryce
# 103   3   Jimmy

# 610-3、排除某些列
#    A  C
# 0  1  3
# 1  4  6

# 610-4、强制转换为浮点数
#      A    B
# 0  1.0  4.0
# 1  2.5  5.5

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2194862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统 | 学习笔记 | 王道 | 3.1 内存管理概念

3 内存管理 3.1 内存管理概念 3.1.1 内存管理的基本原理和要求 内存可以存放数据,程序执行前需要先放到内存中才能被CPU处理—缓和cpu和磁盘之间的速度矛盾 内存管理的概念 虽然计算机技术飞速发展,内存容量也在不断扩大,但仍然不可能将所有…

DBMS-3.4 SQL(4)——存储过程和函数触发器

本文章的素材与知识来自李国良老师和王珊老师。 存储过程和函数 一.存储过程 1.语法 2.示例 (1) 使用DELIMITER更换终止符后用于编写存储过程语句后,在下次执行SQL语句时记得再使用DELIMITER将终止符再换回分号。 使用DELIMITER更换终止符…

18732 最短路问题

### 思路 1. **建模问题**:将车站和公交线路建模为图,其中车站是节点,公交线路是带权边。 2. **选择算法**:使用Dijkstra算法求解从车站1到车站n的最短路径问题。 3. **初始化**:创建一个优先队列(最小堆&…

2024年诺贝尔生理学或医学奖揭晓:microRNA及其在转录后基因调控中的作用

microRNA(miRNA)是一类长度约为19-25nt的内源性非编码RNA,它们在真核生物中通过参与基因的转录后调控,实现对靶基因的表达调节。miRNA的调控作用主要通过两种机制:翻译抑制和mRNA的降解。 翻译抑制:miRNA与…

LeetCode讲解篇之70. 爬楼梯

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 爬楼梯有一个规律,爬到第n层楼梯的方法种数 爬到第n - 1层楼梯的方法种数 爬到第n - 1层楼梯的方法种数 也就是我们爬到第n层楼梯其实是从第n - 1层楼梯向上爬1层或者是n - 2层楼梯向上爬2层转换来…

【雷达数据集】RADDet: 面向动态道路使用者的基于距离-方位-多普勒的雷达目标检测【附链接】

微信公众号:EW Frontier 关注可了解更多的雷达、通信、人工智能相关代码。问题或建议,请公众号留言;如果你觉得EW Frontier对你有帮助,欢迎加入我的知识星球或面包多,更多代码等你来学 知识星球:https://wx.zsxq.com/d…

美客多测评系统:批量注册买家号的新利器

美客多(MercadoLibre)测评系统作为一种在跨境电商领域广泛应用的策略,其核心在于通过批量注册并管理买家账号,模拟真实用户的购物行为,以提升产品的销量、评价数量和店铺权重。以下是对美客多测评系统中批量注册买家号…

HCIE《网络括谱图》

企业园区网 终端>接入>汇聚>核心>出口区(防火墙)>互联网

大数据新视界 --大数据大厂之TeZ 大数据计算框架实战:高效处理大规模数据

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

stm32学习笔记-RTC实时时钟

文章目录 一、RTC基础知识1.1 RTC简介1.2 RTC的晶振 二、stm32的RTC2.1 RTC和后备寄存器2.2 stm32 RTC结构框图及特性 三、stm32 RTC编程2.1 RTC初始化2.2 RTC控制程序 一、RTC基础知识 1.1 RTC简介 实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称…

第十三篇——虚数:虚构这个工具有什么用?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 认知一下就拉起来了;没有的东西,构建出来&#xf…

如何使用Flair.ai实现模特换装效果

在数字化时代,科技让我们实现了许多过去无法想象的功能。Flair.ai就是这样一个神奇的工具,它可以帮助你轻松实现模特换装效果。以下是详细步骤,教你如何使用Flair.ai来实现这一过程。 第一步:访问Flair.ai网站 首先,…

10.3 Linux_进程_创建守护进程

守护进程创建方法 守护进程是什么: 守护进程又叫精灵进程,是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。它是一个在后台运行的孤儿进程,这使得守护进程不受终端的信息影响&…

【算法笔记】二分算法原理的深度剖析

【算法笔记】二分算法原理的深度剖析 🔥个人主页:大白的编程日记 🔥专栏:算法笔记 文章目录 【算法笔记】二分算法原理的深度剖析前言一.二分查找1.1题目1.2朴素二分1.3细节问题1.4代码实现1.5朴素模版总结 二.在排序数组中查找…

用Arduino单片机制作一个简单的音乐播放器

Arduino单片机上有多个数字IO针脚,可以输出数字信号,用于驱动发声器件,从而让它发出想要的声音。蜂鸣器是一种常见的发声器件,通电后可以发出声音。因此,单片机可以通过数字输出控制蜂鸣器发出指定的声音。另外&#x…

视频色彩变幻剪辑:批量剪辑工具大揭秘

在视频剪辑领域,将视频画面添加一些色彩是一项常见需求。幸运的是,市面上存在多款批量剪辑工具,能够轻松实现这一剪辑,提升视频品质与观感。像视频剪辑高手一次可剪辑多个视频素材。易操作。一起来试试。 1打开“视频剪辑高手”软…

【时间之外】昔日销售大佬今求职难

目录 国庆结束 中年危机下的家庭缩影:昔日销售大佬今求职难 生存智慧之三大人生策略 国庆结束 今天是国庆节的最后一天假期了。 7天的大调休,搞得人非常疲惫,想想接下来还有5天的工作日,就觉得这个调休实在是烦人。 中年危机…

企业为什么需要MES系统?

企业为什么需要MES系统? 提高生产效率: MES系统能够实时采集生产现场的数据,并根据这些数据对生产计划进行动态调整,最大化设备利用率和产能。通过优化生产流程,减少生产中的非增值时间,提高整体生产效率。…

史上最强传奇资源编辑器

支持:WIL WIS WZL PAK(GOM GEE V8 LEG) 批量修改密码、全格式转换、文件归类、资源优化、坐标调整辅助、GIF动画生成、衣服武器合成一体 资料地址:史上最强传奇资源编辑器 - 工具软件程序 - 51开发者联盟 - 51SF.CC

C语言文件操作(下)(28)

文章目录 前言一、文件的打开和关闭打开打开模式相对路径和绝对路径 关闭 二、文件操作正确流程三、文件顺序读写函数fopenfclosefputcfgetcfputsfgetsfprintffscanfsprintfsscanffwritefread 四、文件随机读写函数fseekftellrewind 五、文件读取结束时候的判断feofferror具体例…