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

目录

一、用法精讲

74、pandas.api.interchange.from_dataframe函数

74-1、语法

74-2、参数

74-3、功能

74-4、返回值

74-5、说明

74-6、用法

74-6-1、数据准备

74-6-2、代码示例

74-6-3、结果输出

75、pandas.Series类

75-1、语法

75-2、参数

75-3、功能

75-4、返回值

75-5、说明

75-6、用法

75-6-1、数据准备

75-6-2、代码示例

75-6-3、结果输出 

76、pandas.Series.index属性

76-1、语法

76-2、参数

76-3、功能

76-4、返回值

76-5、说明

76-6、用法

76-6-1、数据准备

76-6-2、代码示例

76-6-3、结果输出

77、pandas.Series.array方法

77-1、语法

77-2、参数

77-3、功能

77-4、返回值

77-5、说明

77-6、用法

77-6-1、数据准备

77-6-2、代码示例

77-6-3、结果输出 

78、pandas.Series.values属性

78-1、语法

78-2、参数

78-3、功能

78-4、返回值

78-5、说明

78-6、用法

78-6-1、数据准备

78-6-2、代码示例

78-6-3、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

74、pandas.api.interchange.from_dataframe函数
74-1、语法
# 74、pandas.api.interchange.from_dataframe函数
pandas.api.interchange.from_dataframe(df, allow_copy=True)
Build a pd.DataFrame from any DataFrame supporting the interchange protocol.Parameters:
df
DataFrameXchg
Object supporting the interchange protocol, i.e. __dataframe__ method.allow_copy
bool, default: True
Whether to allow copying the memory to perform the conversion (if false then zero-copy approach is requested).Returns:
pd.DataFrame
74-2、参数

74-2-1、df(必须)一个类似于数据框的对象,表示要转换为Pandas Data的数据,该对象可以是任何实现了数据框接口的对象,如来自其他(例如Dask、Vaex等)的DataFrame。

74-2-2、allow_copy(可选,默认值为True)指示在转换过程中是否允许复制数据。如果设置为True,则在需要的情况下,方法可以复制数据来保证数据的一致性和完整性;如果设置为False,方法会尝试避免复制数据,这样可以提高性能和减少内存使用,但可能会导致一些限制。

74-3、功能

        用于从其他数据框架接口中导入数据框架的Pandas API方法,它将其他数据框架对象转换为Pandas DataFrame。

74-4、返回值

        返回值是一个Interchange DataFrame对象,该对象是一个通用的数据框架标准,用于在不同的数据处理库之间交换数据。

74-5、说明

        无

74-6、用法
74-6-1、数据准备
74-6-2、代码示例
# 74、pandas.api.interchange.from_dataframe函数
import pandas as pd
from pandas.api.interchange import from_dataframe
# 创建一个示例DataFrame
data = {'Name': ['Myelsa', 'Bryce', 'Jimmy'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
# 使用from_dataframe方法转换DataFrame
interchange_df = from_dataframe(df, allow_copy=True)
# 打印转换后的Interchange DataFrame信息
print(type(interchange_df))
print(interchange_df)
74-6-3、结果输出
# 74、pandas.api.interchange.from_dataframe函数
# <class 'pandas.core.frame.DataFrame'>
#      Name  Age         City
# 0  Myelsa   25     New York
# 1   Bryce   30  Los Angeles
# 2   Jimmy   35      Chicago
75、pandas.Series
75-1、语法
# 75、pandas.Series类
pandas.Series(data=None, index=None, dtype: 'Dtype | None' = None, name=None, copy: 'bool | None' = None, fastpath: 'bool | lib.NoDefault' = <no_default>) -> 'None'One-dimensional ndarray with axis labels (including time series).Labels need not be unique but must be a hashable type. The object
supports both integer- and label-based indexing and provides a host of
methods for performing operations involving the index. Statistical
methods from ndarray have been overridden to automatically exclude
missing data (currently represented as NaN).Operations between Series (+, -, /, \*, \*\*) align values based on their
associated index values-- they need not be the same length. The result
index will be the sorted union of the two indexes.Parameters
----------
data : array-like, Iterable, dict, or scalar valueContains data stored in Series. If data is a dict, argument order ismaintained.
index : array-like or Index (1d)Values must be hashable and have the same length as `data`.Non-unique index values are allowed. Will default toRangeIndex (0, 1, 2, ..., n) if not provided. If data is dict-likeand index is None, then the keys in the data are used as the index. If theindex is not None, the resulting Series is reindexed with the index values.
dtype : str, numpy.dtype, or ExtensionDtype, optionalData type for the output Series. If not specified, this will beinferred from `data`.See the :ref:`user guide <basics.dtypes>` for more usages.
name : Hashable, default NoneThe name to give to the Series.
copy : bool, default FalseCopy input data. Only affects Series or 1d ndarray input. See examples.Notes
-----
Please reference the :ref:`User Guide <basics.series>` for more information.
75-2、参数

75-2-1、data(可选,默认值为None)表示Series数据,可以是列表、NumPy数组、字典或标量值(如单个数值),如果是标量值,会将该值赋给Series的每一个元素。

75-2-2、index(可选,默认值为None)表示索引标签,用于定义Series的索引,如果没有提供,默认会生成一个从0开始的整数索引,长度必须与data的长度相同。

75-2-3、dtype(可选,默认值为None)表示数据类型。如果没有提供,Pandas会尝试自动推断data的数据类型。

75-2-4、name(可选,默认值为None)表示Series的名称,可以为Series对象命名,方便在DataFrame中引用。

75-2-5、copy(可选,默认值为None)如果设为True,则会复制data,通常在传递的是其他Pandas对象时使用,以确保数据不会被修改。

75-2-6、fastpath(可选)内部使用参数,用于优化性能,通常用户不需要显式设置这个参数。

75-3、功能

        pandas.Series是Pandas库中最基本的数据结构之一,它类似于一维数组,可以存储任意类型的数据(整数、浮点数、字符串等),该构造函数允许我们从多种数据类型创建一个Series对象。

75-4、返回值

        创建一个pandas.Series对象时,返回值是一个pandas Series对象,该对象具有以下特性:

75-4-1、一维数据结构:Series是一维的,可以看作是一个带有标签的数组。

75-4-2、索引:每个数据元素都有一个对应的标签(索引),可以通过索引来访问数据。

75-4-3、数据类型:Series中的所有数据类型是一致的(如果在创建时未指定不同类型)。

75-5、说明

        无

75-6、用法
75-6-1、数据准备
75-6-2、代码示例
# 75、pandas.Series类
# 75-1、从列表创建Series
import pandas as pd
data = [1, 2, 3, 4, 5]
series1 = pd.Series(data)
print(series1, end='\n\n')# 75-2、从字典创建Series
import pandas as pd
data = {'a': 1, 'b': 2, 'c': 3}
series2 = pd.Series(data)
print(series2, end='\n\n')# 75-3、指定索引和数据类型
import pandas as pd
data = [1.5, 2.5, 3.5]
index = ['a', 'b', 'c']
series3 = pd.Series(data, index=index, dtype=float, name='Example Series')
print(series3, end='\n\n')# 75-4、从标量值创建Series
import pandas as pd
scalar_data = 10
series4 = pd.Series(scalar_data, index=['a', 'b', 'c'])
print(series4)
75-6-3、结果输出 
# 75、pandas.Series类
# 75-1、从列表创建Series
# 0    1
# 1    2
# 2    3
# 3    4
# 4    5
# dtype: int64# 75-2、从字典创建Series
# a    1
# b    2
# c    3
# dtype: int64# 75-3、指定索引和数据类型
# a    1.5
# b    2.5
# c    3.5
# Name: Example Series, dtype: float64# 75-4、从标量值创建Series
# a    10
# b    10
# c    10
# dtype: int64
76、pandas.Series.index属性
76-1、语法
# 76、pandas.Series.index属性
pandas.Series.index
The index (axis labels) of the Series.The index of a Series is used to label and identify each element of the underlying data. The index can be thought of as an immutable ordered set (technically a multi-set, as it may contain duplicate labels), and is used to index and align data in pandas.Returns:
Index
The index labels of the Series.
76-2、参数

        无

76-3、功能

        提供对Series中数据索引的访问。

76-4、返回值

        返回值是一个pandas.Index对象,它包含了Series中每个数据点的索引标签。

76-5、说明

        在Pandas中,Series是一个一维的、长度可变的、能够存储任何数据类型的数组(尽管在实践中,它通常用于存储相同类型的数据),并且每个元素都有一个与之关联的索引标签。

76-6、用法
76-6-1、数据准备
76-6-2、代码示例
# 76、pandas.Series.index属性
import pandas as pd
# 创建一个带有自定义索引的Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
# 访问Series的index属性
index_obj = s.index
# 76-1、打印index_obj的类型
print(type(index_obj), end='\n\n')# 76-2、打印index_obj的内容
print(index_obj, end='\n\n')# 76-3、将索引转换为列表
index_list = index_obj.tolist()
print(index_list, end='\n\n')# 76-4、获取索引的NumPy数组
index_array = index_obj.values
print(index_array)
76-6-3、结果输出
# 76、pandas.Series.index属性
# 76-1、打印index_obj的类型
# <class 'pandas.core.indexes.base.Index'># 76-2、打印index_obj的内容
# Index(['a', 'b', 'c', 'd'], dtype='object')# 76-3、将索引转换为列表
# ['a', 'b', 'c', 'd']# 76-4、获取索引的NumPy数组
# ['a' 'b' 'c' 'd']
77、pandas.Series.array方法
77-1、语法
# 77、pandas.Series.array方法
pandas.Series.array
The ExtensionArray of the data backing this Series or Index.Returns:
ExtensionArray
An ExtensionArray of the values stored within. For extension types, this is the actual array. For NumPy native types, this is a thin (no copy) wrapper around numpy.ndarray..array differs from .values, which may require converting the data to a different form.
77-2、参数

        无

77-3、功能

        获取存储在Series对象中的数据的底层数组表示。

77-4、返回值

        返回值取决于Series中数据的类型:

77-4-1、对于NumPy原生类型的数据(如整数、浮点数、字符串等),.array方法将返回一个NumpyExtensionArray对象,这是一个对内部NumPy ndarray的封装,但不进行数据的复制,这意味着返回的数组与Series中的数据共享相同的内存区域,除非进行显式的数据复制操作。
77-4-2、对于扩展类型的数据(如分类数据、时间戳、时间间隔等),.array方法将返回实际的ExtensionArray对象,这些对象是为了支持Pandas中非NumPy原生类型的数据而设计的,这些扩展数组提供了与NumPy数组类似的接口,但具有额外的功能或属性,以适应特定类型的数据。

77-5、说明

        返回值的特点:

77-5-1、类型依赖性:返回值的具体类型取决于Series中数据的类型。

77-5-2、内存共享(对于NumPy原生类型):在大多数情况下,返回的数组与Series中的数据共享相同的内存区域,从而避免不必要的数据复制。

77-5-3、灵活性:通过提供对底层数组的访问,.array方法允许用户进行更底层的操作或优化,尽管这通常不是Pandas推荐的常规用法。

77-6、用法
77-6-1、数据准备
77-6-2、代码示例
# 77、pandas.Series.array方法
import pandas as pd
# 创建一个简单的Series(包含 NumPy 原生类型的数据)
s_numpy = pd.Series([1, 2, 3, 4])
# 使用.array方法获取底层数组
arr_numpy = s_numpy.array
print(arr_numpy)
print(type(arr_numpy))
77-6-3、结果输出 
# 77、pandas.Series.array方法
# <NumpyExtensionArray>
# [1, 2, 3, 4]
# Length: 4, dtype: int64
# <class 'pandas.core.arrays.numpy_.NumpyExtensionArray'>
78、pandas.Series.values属性
78-1、语法
# 78、pandas.Series.values属性
pandas.Series.values
Return Series as ndarray or ndarray-like depending on the dtype.WarningWe recommend using Series.array or Series.to_numpy(), depending on whether you need a reference to the underlying data or a NumPy array.Returns:
numpy.ndarray or ndarray-like
78-2、参数

        无

78-3、功能

        用于获取Series中数据的NumPy表示。

78-4、返回值

        返回一个NumPy ndarray,其中包含了Series中的所有数据,但通常不包括索引信息。

78-5、说明

        使用.values属性是获取Series中数据的一种快速方式,尤其是当你需要将数据传递给需要NumPy数组作为输入的函数或库时,然而,需要注意的是,返回的NumPy数组可能与原始的Series数据共享内存(对于非对象数据类型),这意味着如果你修改了返回的数组,原始的Series数据也可能会被修改(尽管Pandas在许多情况下都会尝试避免这种情况)。

78-6、用法
78-6-1、数据准备
78-6-2、代码示例
# 78、pandas.Series.values属性
import pandas as pd
# 创建一个简单的Series
s = pd.Series([1, 2, 3, 4])
# 使用.values属性获取NumPy数组
np_array = s.values
# 输出结果  
print(np_array)
print(type(np_array))
# 修改NumPy数组(注意:这可能会影响原始的Series,但Pandas通常会避免这种情况)
np_array[0] = 10
# 检查Series是否被修改(对于非对象类型,通常不会)
print(s)
# 如果你想要一个确保不会修改原始Series的副本,可以使用.copy()
np_array_copy = s.values.copy()
np_array_copy[0] = 100
print(s)
78-6-3、结果输出 
# 78、pandas.Series.values属性
# [1 2 3 4]
# <class 'numpy.ndarray'>
# 0    10
# 1     2
# 2     3
# 3     4
# dtype: int64
# 0    10
# 1     2
# 2     3
# 3     4
# dtype: int64

二、推荐阅读

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

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

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

相关文章

牛客 7.13 月赛(留 C逆元 Ddp)

B-最少剩几个&#xff1f;_牛客小白月赛98 (nowcoder.com) 思路 奇数偶数 奇数&#xff1b;奇数*偶数 奇数 所以在既有奇数又有偶数时&#xff0c;两者结合可以同时删除 先分别统计奇数&#xff0c;偶数个数 若偶个数大于奇个数&#xff0c;答案是偶个数-奇个数 若奇个数…

六边形动态特效404单页HTML源码

源码介绍 动态悬浮的六边形,旁边404文字以及跳转按钮,整体看着像科技二次元画风,页面简约美观,可以做网站错误页或者丢失页面,将下面的代码放到空白的HTML里面,然后上传到服务器里面,设置好重定向即可 效果预览 完整源码 <!DOCTYPE html> <html><head…

PyCharm查看文件或代码变更记录

背景&#xff1a; Mac笔记本上有一个截图的定时任务在运行&#xff0c;本地Python使用的是PyCharm IDE&#xff0c;负责的同事休假&#xff0c;然后定时任务运行的结果不符合预期&#xff0c;一下子不知道问题出现在哪里。 定位思路&#xff1a; 1、先确认网络、账号等基本的…

Qt 快速保存配置的方法

Qt 快速保存配置的方法 一、概述二、代码1. QFileHelper.cpp2. QSettingHelper.cpp 三、使用 一、概述 这里分享一下&#xff0c;Qt界面开发时&#xff0c;快速保存界面上一些参数配置的方法。 因为我在做实验的时候&#xff0c;界面上可能涉及到很多参数的配置&#xff0c;我…

实战打靶集锦-31-monitoring

文章目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 ssh服务4.2 smtp服务4.3 http/https服务 5. 系统提权5.1 枚举系统信息5.2 枚举passwd文件5.3 枚举定时任务5.4 linpeas提权 6. 获取flag 靶机地址&#xff1a;https://download.vulnhub.com/monitoring/Monitoring.o…

django学习入门系列之第四点《BootStrap依赖》

文章目录 往期回顾 BootStrap依赖于JavaScript的类库&#xff0c;JQuery下载 下载JQuery&#xff0c;在界面上应用JQuery 在页面上应用BootStrap和avaScript的类库【JQuery是avaScript的类库】 JQuery的官网&#xff1a; jQuery 如果要应用JQuery 则要在body里面导入文件…

MySQL(7)内外连接+索引

目录 1.内外连接; 2. 索引; 1.内外连接: 1.1内连接: 语法: select 字段 from 表名 inner join 表名 on 字段限制; 1.2 外连接: 分为左右外连接; (1)左外连接: 语法: select * from 表名 left join 表名 on 字段限制. &#x1f330;查询所有学生的成绩&#xff0c;如果这个学生…

什么才是好用的大模型?

随着大模型在千行百业的逐步落地&#xff0c;中国基础大模型正直面来自用户端的诸多拷问。 近日&#xff0c;随着OpenAI宣布禁止中国用户使用其API&#xff0c;更多的国产大模型都在提供替代方案和优惠措施&#xff0c;来吸引和支持开发者进行用户迁移。 这既是一次挑战&…

多多OJ评测系统 前端项目环境初始化 安装Vue脚手架 引入Arco Design组件

目录 确定环境 命令行输入 装一下脚手架 监测一下是否安装成功 创建一个项目 选择一系列的配置后 我们打开webStorm 配置脚手架后我们先运行 我们这边能获取到网址 其实我们脚手架已经帮我们做到了 接下来要引入相关的组件 选择用npm进行安装 我们建议的是完整引入…

UDP客户端、服务端及简易聊天室实现 —— Java

UDP 协议&#xff08;用户数据包协议&#xff09; UDP 是无连接通信协议&#xff0c;即在数据传输时&#xff0c;数据的发送端和接收端不建立逻辑连接&#xff0c;简单来说&#xff0c;当客户端向接收端发送数据时&#xff0c;客户端不会确认接收端是否存在&#xff0c;就会发出…

windows镜像下载网站

一个专注于提供精校、完整、极致的Windows系统下载服务的仓储站&#xff0c;网站托管于Github。 网站&#xff1a;https://hellowindows.cn/ 下载方式&#xff1a;ED2k&#xff0c;BT&#xff0c;百度网盘 MSDN - 山己几子木&#xff0c;提供Windows 11、Windows 10等不同版本…

单例模式Singleton

设计模式 23种设计模式 Singleton 所谓类的单例设计模式&#xff0c;就是采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法。 饿汉式 public class BankTest {public static void main(…

Qt模型/视图架构——委托(delegate)

一、为什么需要委托 模型&#xff08;model&#xff09;用来数据存储&#xff0c;视图&#xff08;view&#xff09;用来展示数据。因此&#xff0c;模型/视图架构是一种将数据存储和界面展示分离的编程方法。具体如下图所示&#xff1a; 由图可知&#xff0c;模型向视图提供数…

3D问界—MAYA制作铁丝栅栏(透明贴图法)

当然&#xff0c;如果想通过建立模型法来实现铁丝栅栏的效果&#xff0c;也不是不行&#xff0c;可以找一下栅栏建模教程。本篇文章主要是记录一下如何使用透明贴图来实现创建铁丝栅栏&#xff0c;主要应用于场景建模&#xff0c;比如游戏场景、建筑场景等大环境&#xff0c;不…

PGCCC|【PostgreSQL】PG考证对工作上有什么好处# PG证书

认证 PostgreSQL 考证&#xff08;PostgreSQL Certification&#xff09;在工作上有以下几个好处&#xff1a; 增强专业能力&#xff1a;通过考证&#xff0c;可以系统地学习和掌握 PostgreSQL 数据库的知识和技能&#xff0c;提高自己的专业水平。 提升职业竞争力&#xff1…

CentOS 7 初始化环境配置详细

推荐使用xshell远程连接&#xff0c;如链接不上 请查看 CentOS 7 网络配置 修改主机名 hostname hostnamectl set-hostname xxx bash 关闭 SElinux 重启之后生效 配置yum源&#xff08;阿里&#xff09; 先备份CentOS-Base.repo&#xff0c;然后再下载 mv /etc/yum.repos…

android R ext4 image打包脚本介绍

一、Android R打包指令使用介绍 &#xff08;1&#xff09;mkuserimg_mke2fs #./mkuserimg_mke2fs --help usage: mkuserimg_mke2fs [-h] [--android_sparse] [--journal_size JOURNAL_SIZE][--timestamp TIMESTAMP] [--fs_config FS_CONFIG][--product_out PRODUCT_OUT][--b…

小程序图片下载保存方法,图片源文件保存!

引言 现在很多时候我们在观看到小程序中的图片的时候&#xff0c;想保存图片的原文件格式的话&#xff0c;很多小程序是禁止保存的&#xff0c;即使是让保存的话&#xff0c;很多小程序也会限制不让保存原文件&#xff0c;只让保存一些分辨率很低的&#xff0c;非常模糊的图片…

QT-RTSP相机监控视频流

QT-RTSP相机监控视频流 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "mainwindow.h"#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_settings("outSmart", "LiveWatcher&…

CentOS 7 安装MySQL 5.7.30

CentOS 7 安装MySQL卸载&#xff08;离线安装&#xff09; 安装配置MySQL之前先查询是否存在&#xff0c;如存在先卸载再安装 rpm -qa|grep -i mysql rpm -qa|grep -i mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64如下命令找到直接 rm -rf 删除&#xff08;删除…