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

目录

一、用法精讲

61、pandas.to_numeric函数

61-1、语法

61-2、参数

61-3、功能

61-4、返回值

61-5、说明

61-6、用法

61-6-1、数据准备

61-6-2、代码示例

61-6-3、结果输出

62、pandas.to_datetime函数

62-1、语法

62-2、参数

62-3、功能

62-4、返回值

62-5、说明

62-6、用法

62-6-1、数据准备

62-6-2、代码示例

62-6-3、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

61、pandas.to_numeric函数
61-1、语法
# 61、pandas.to_numeric函数
pandas.to_numeric(arg, errors='raise', downcast=None, dtype_backend=_NoDefault.no_default)
Convert argument to a numeric type.The default return dtype is float64 or int64 depending on the data supplied. Use the downcast parameter to obtain other dtypes.Please note that precision loss may occur if really large numbers are passed in. Due to the internal limitations of ndarray, if numbers smaller than -9223372036854775808 (np.iinfo(np.int64).min) or larger than 18446744073709551615 (np.iinfo(np.uint64).max) are passed in, it is very likely they will be converted to float so that they can be stored in an ndarray. These warnings apply similarly to Series since it internally leverages ndarray.Parameters:
argscalar, list, tuple, 1-d array, or Series
Argument to be converted.errors{‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
If ‘raise’, then invalid parsing will raise an exception.If ‘coerce’, then invalid parsing will be set as NaN.If ‘ignore’, then invalid parsing will return the input.Changed in version 2.2.“ignore” is deprecated. Catch exceptions explicitly instead.downcaststr, default None
Can be ‘integer’, ‘signed’, ‘unsigned’, or ‘float’. If not None, and if the data has been successfully cast to a numerical dtype (or if the data was numeric to begin with), downcast that resulting data to the smallest numerical dtype possible according to the following rules:‘integer’ or ‘signed’: smallest signed int dtype (min.: np.int8)‘unsigned’: smallest unsigned int dtype (min.: np.uint8)‘float’: smallest float dtype (min.: np.float32)As this behaviour is separate from the core conversion to numeric values, any errors raised during the downcasting will be surfaced regardless of the value of the ‘errors’ input.In addition, downcasting will only occur if the size of the resulting data’s dtype is strictly larger than the dtype it is to be cast to, so if none of the dtypes checked satisfy that specification, no downcasting will be performed on the data.dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:"numpy_nullable": returns nullable-dtype-backed DataFrame (default)."pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.New in version 2.0.Returns:
ret
Numeric if parsing succeeded. Return type depends on input. Series if Series, otherwise ndarray.
61-2、参数

61-2-1、arg(必须)表示你想要转换的数据,可以是一个单独的数值、列表、Series或者DataFrame。

61-2-2、errors(可选,默认值为'raise')指定在遇到不能转换为数字的值时的处理方式,可选的值有:

61-2-2-1、'raise'(默认值):遇到错误时会引发异常。

61-2-2-2、'coerce':遇到不能转换为数字的值时,将其转换为NaN(缺失值)。

61-2-2-3、'ignore':忽略不能转换为数字的值,保持原样。

61-2-3、downcast(可选,默认值为None)用于将数据转换为较低精度的数值类型,以减少内存使用,可选值有:

61-2-3-1、None(默认值):不进行降级。

61-2-3-2、'integer':尽可能转换为较小的整数类型。

61-2-3-3、'signed':尽可能转换为较小的有符号整数类型。

61-2-3-4、'unsigned':尽可能转换为较小的无符号整数类型。

61-2-3-5、'float':尽可能转换为较小的浮点数类型。

61-2-4、dtype_backend(可选)内部调用,一般不需要用户直接设置。

61-3、功能

        用于将参数(如单个值、列表、Series或者DataFrame)中的数据转换为数字类型(整数或浮点数)。

61-4、返回值

        函数的返回值取决于输入数据的类型:

61-4-1、单个值:如果输入是单个值,返回一个转换后的数值(整数或浮点数)。

61-4-2、列表:如果输入是列表,返回一个包含转换后数值的列表。

61-4-3、Series:如果输入是pandas Series,返回一个转换后的pandas Series,类型为数值类型。

61-4-4、DataFrame:如果输入是pandas DataFrame,返回一个转换后的DataFrame,每一列都会尝试转换为数值类型。

61-5、说明

        该函数通过灵活的参数设置,能够有效地将不同类型的数据转换为数值类型,并提供多种错误处理选项,适用于数据预处理和清洗的各类场景。

61-6、用法
61-6-1、数据准备
61-6-2、代码示例
# 61、pandas.to_numeric函数
# 61-1、转换Series
import pandas as pd
data = pd.Series(['1', '2', '3', 'apple', '5'])
# 转换为数字,遇到错误将其转换为NaN
numeric_data = pd.to_numeric(data, errors='coerce')
print(numeric_data, end='\n\n')# 61-2、转换DataFrame
import pandas as pd
df = pd.DataFrame({'A': ['1', '2', '3', 'apple', '5'],'B': ['10.5', '20.1', '30.2', '40.0', '50.5']
})
# 转换为数字,遇到错误将其转换为NaN
numeric_df = df.apply(pd.to_numeric, errors='coerce')
print(numeric_df)
61-6-3、结果输出
# 61、pandas.to_numeric函数
# 61-1、转换Series
# 0    1.0
# 1    2.0
# 2    3.0
# 3    NaN
# 4    5.0
# dtype: float64# 61-2、转换DataFrame
#      A     B
# 0  1.0  10.5
# 1  2.0  20.1
# 2  3.0  30.2
# 3  NaN  40.0
# 4  5.0  50.5
62、pandas.to_datetime函数
62-1、语法
# 62、pandas.to_datetime函数
pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=False, format=None, exact=_NoDefault.no_default, unit=None, infer_datetime_format=_NoDefault.no_default, origin='unix', cache=True)
Convert argument to datetime.This function converts a scalar, array-like, Series or DataFrame/dict-like to a pandas datetime object.Parameters:
argint, float, str, datetime, list, tuple, 1-d array, Series, DataFrame/dict-like
The object to convert to a datetime. If a DataFrame is provided, the method expects minimally the following columns: "year", "month", "day". The column “year” must be specified in 4-digit format.errors{‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
If 'raise', then invalid parsing will raise an exception.If 'coerce', then invalid parsing will be set as NaT.If 'ignore', then invalid parsing will return the input.dayfirstbool, default False
Specify a date parse order if arg is str or is list-like. If True, parses dates with the day first, e.g. "10/11/12" is parsed as 2012-11-10.Warningdayfirst=True is not strict, but will prefer to parse with day first.yearfirstbool, default False
Specify a date parse order if arg is str or is list-like.If True parses dates with the year first, e.g. "10/11/12" is parsed as 2010-11-12.If both dayfirst and yearfirst are True, yearfirst is preceded (same as dateutil).Warningyearfirst=True is not strict, but will prefer to parse with year first.utcbool, default False
Control timezone-related parsing, localization and conversion.If True, the function always returns a timezone-aware UTC-localized Timestamp, Series or DatetimeIndex. To do this, timezone-naive inputs are localized as UTC, while timezone-aware inputs are converted to UTC.If False (default), inputs will not be coerced to UTC. Timezone-naive inputs will remain naive, while timezone-aware ones will keep their time offsets. Limitations exist for mixed offsets (typically, daylight savings), see Examples section for details.WarningIn a future version of pandas, parsing datetimes with mixed time zones will raise an error unless utc=True. Please specify utc=True to opt in to the new behaviour and silence this warning. To create a Series with mixed offsets and object dtype, please use apply and datetime.datetime.strptime.See also: pandas general documentation about timezone conversion and localization.formatstr, default None
The strftime to parse time, e.g. "%d/%m/%Y". See strftime documentation for more information on choices, though note that "%f" will parse all the way up to nanoseconds. You can also pass:“ISO8601”, to parse any ISO8601 time string (not necessarily in exactly the same format);“mixed”, to infer the format for each element individually. This is risky, and you should probably use it along with dayfirst.NoteIf a DataFrame is passed, then format has no effect.exactbool, default True
Control how format is used:If True, require an exact format match.If False, allow the format to match anywhere in the target string.Cannot be used alongside format='ISO8601' or format='mixed'.unitstr, default ‘ns’
The unit of the arg (D,s,ms,us,ns) denote the unit, which is an integer or float number. This will be based off the origin. Example, with unit='ms' and origin='unix', this would calculate the number of milliseconds to the unix epoch start.infer_datetime_formatbool, default False
If True and no format is given, attempt to infer the format of the datetime strings based on the first non-NaN element, and if it can be inferred, switch to a faster method of parsing them. In some cases this can increase the parsing speed by ~5-10x.Deprecated since version 2.0.0: A strict version of this argument is now the default, passing it has no effect.originscalar, default ‘unix’
Define the reference date. The numeric values would be parsed as number of units (defined by unit) since this reference date.If 'unix' (or POSIX) time; origin is set to 1970-01-01.If 'julian', unit must be 'D', and origin is set to beginning of Julian Calendar. Julian day number 0 is assigned to the day starting at noon on January 1, 4713 BC.If Timestamp convertible (Timestamp, dt.datetime, np.datetimt64 or date string), origin is set to Timestamp identified by origin.If a float or integer, origin is the difference (in units determined by the unit argument) relative to 1970-01-01.cachebool, default True
If True, use a cache of unique, converted dates to apply the datetime conversion. May produce significant speed-up when parsing duplicate date strings, especially ones with timezone offsets. The cache is only used when there are at least 50 values. The presence of out-of-bounds values will render the cache unusable and may slow down parsing.Returns:
datetime
If parsing succeeded. Return type depends on input (types in parenthesis correspond to fallback in case of unsuccessful timezone or out-of-range timestamp parsing):scalar: Timestamp (or datetime.datetime)array-like: DatetimeIndex (or Series with object dtype containing datetime.datetime)Series: Series of datetime64 dtype (or Series of object dtype containing datetime.datetime)DataFrame: Series of datetime64 dtype (or Series of object dtype containing datetime.datetime)Raises:
ParserError
When parsing a date from string fails.ValueError
When another datetime conversion error happens. For example when one of ‘year’, ‘month’, day’ columns is missing in a DataFrame, or when a Timezone-aware datetime.datetime is found in an array-like of mixed time offsets, and utc=False.
62-2、参数

62-2-1、arg(必须)表示需要转换为日期时间的对象,可以是单个日期时间字符串、日期时间对象、列表、Series或DataFrame。

62-2-2、errors(可选,默认值为'raise')指定在遇到不能转换为数字的值时的处理方式,可选的值有:

62-2-2-1、'raise'(默认值):遇到错误时会引发异常。

62-2-2-2、'coerce':遇到不能转换为数字的值时,将其转换为NaN(缺失值)。

62-2-2-3、'ignore':忽略不能转换为数字的值,保持原样。

62-2-3、dayfirst(可选,默认值为False)当为True时,解析日期时优先将前两位作为日,例如:dayfirst=True将'10/11/2024'解析为2024年11月10日。

62-2-4、yearfirst(可选,默认值为False)当为True时,解析日期时优先将前两位作为年,例如:yearfirst=True将'2024-10-11'解析为2024年10月11日。

62-2-5、utc(可选,默认值为False)当为True时,将时间转换为UTC时间。

62-2-6、format(可选,默认值为None)指定日期时间字符串的格式,例如:format='%Y-%m-%d %H:%M:%S'。

62-2-7、exact(可选)当为True时,要求日期时间字符串完全匹配格式。

62-2-8、unit(可选,默认值为None)如果传入的是整数或浮点数,指定其时间单位,如s(秒),ms(毫秒),us(微秒),ns(纳秒)。

62-2-9、infer_datetime_format(可选)当为True时,自动推断日期时间字符串的格式以提高解析速度。

62-2-10、origin(可选,默认值为'unix')指定时间计算的起点,可以是'unix'(1970-01-01),也可以是具体的时间字符串。

62-2-11、cache(可选,默认值为True)当为True时,启用缓存以提高解析速度。

62-3、功能

        用于将各种格式的输入数据转换为datetime64[ns]类型,确保数据在后续分析中具有一致的日期时间格式。

62-4、返回值

        返回值类型取决于输入:

62-4-1、如果输入是单个字符串或单个数值,则返回一个Timestamp对象。

62-4-2、如果输入是列表、数组、Series或DataFrame,则返回一个DatetimeIndex或Series,其中包含转换后的日期时间数据。

62-5、说明

        无

62-6、用法
62-6-1、数据准备
62-6-2、代码示例
# 62、pandas.to_datetime函数
# 62-1、将字符串转换为datetime
import pandas as pd
date_str = '2024-07-15'
date = pd.to_datetime(date_str)
print(date, end='\n\n')# 62-2、将列表转换为datetime
import pandas as pd
date_list = ['2024-07-15', '2025-07-15']
dates = pd.to_datetime(date_list)
print(dates, end='\n\n')# 62-3、处理Series并处理错误
import pandas as pd
date_series = pd.Series(['2024-07-15', '2025-07-15', 'not a date'])
dates = pd.to_datetime(date_series, errors='coerce')
print(dates, end='\n\n')# 62-4、使用特定格式解析日期
import pandas as pd
date_str = '15/07/2024'
date = pd.to_datetime(date_str, format='%d/%m/%Y', dayfirst=True)
print(date, end='\n\n')# 62-5、将时间戳转换为datetime
import pandas as pd
timestamp_series = pd.Series([1626357600, 1626358200])
dates = pd.to_datetime(timestamp_series, unit='s')
print(dates)
62-6-3、结果输出 
# 62、pandas.to_datetime函数
# 62-1、将字符串转换为datetime
# 2024-07-15 00:00:00# 62-2、将列表转换为datetime
# DatetimeIndex(['2024-07-15', '2025-07-15'], dtype='datetime64[ns]', freq=None)# 62-3、处理Series并处理错误
# 0   2024-07-15
# 1   2025-07-15
# 2          NaT
# dtype: datetime64[ns]# 62-4、使用特定格式解析日期
# 2024-07-15 00:00:00# 62-5、将时间戳转换为datetime
# 0   2021-07-15 14:00:00
# 1   2021-07-15 14:10:00
# dtype: datetime64[ns]

二、推荐阅读

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

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

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

相关文章

ospf的MGRE实验

第一步:配IP [R1-GigabitEthernet0/0/0]ip address 12.0.0.1 24 [R1-GigabitEthernet0/0/1]ip address 21.0.0.1 24 [R1-LoopBack0]ip address 192.168.1.1 24 [ISP-GigabitEthernet0/0/0]ip address 12.0.0.2 24 [ISP-GigabitEthernet0/0/1]ip address 21.0.0.2 24…

Hadoop3:HDFS-存储优化之纠删码

一、集群环境 集群一共5个节点,102/103/104/105/106 二、纠删码原理 1、简介 HDFS默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。Hadoop3.x引入了纠删码,采用计算的方式&#x…

新一代大语言模型 GPT-5 对工作与生活的影响及应对策略

文章目录 📒一、引言 📒二、GPT-5 的发展背景 🚀(一)GPT-4 的表现与特点 🚀(二)GPT-5 的预期进步 📒三、GPT-5 对工作的影响 🚀(一&#xf…

交叉编译ethtool(ubuntu 2018)

参考文章:https://www.cnblogs.com/nazhen/p/16800427.html https://blog.csdn.net/weixin_43128044/article/details/137953913 1、下载相关安装包 //ethtool依赖libmul git clone http://git.netfilter.org/libmnl //ethtool源码 git clone http://git.kernel.or…

OpenGL笔记十三之Uniform向量数据传输、使用glUniform3f和glUniform3fv

OpenGL笔记十三之Uniform向量数据传输、使用glUniform3f和glUniform3fv —— 2024-07-14 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记十三之Uniform向量数据传输、使用glUniform3f和glUniform3fv1.glUniform3f1.1.运行1.2.vs1.3.fs1.4.shader.…

科研绘图系列:R语言雨云图(Raincloud plot)

介绍 雨云图(Raincloud plot)是一种数据可视化工具,它结合了多种数据展示方式,旨在提供对数据集的全面了解。雨云图通常包括以下几个部分: 密度图(Density plot):表示数据的分布情况,密度图的曲线可以展示数据在不同数值区间的密度。箱线图(Box plot):显示数据的中…

.NET MAUI开源架构_1.学习资源分享

最近需要开发Android的App,想预研下使用.NET开源架构.NET MAUI来开发App程序。因此网上搜索了下相关资料,现在把我查询的结果记录下,方便后面学习。 1.官方文档 1.1MAUI官方学习网站 .NET Multi-Platform App UI 文档 - .NET MAUI | Micro…

leetcode简单题27 N.119 杨辉三角II rust描述

// 直接生成杨辉三角当前行 pub fn get_row(row_index: i32) -> Vec<i32> {let mut row vec![1; (row_index 1) as usize];for i in 1..row_index as usize {for j in (1..i).rev() {row[j] row[j] row[j - 1];}}row } // 空间优化的方法 pub fn get_row2(row_ind…

在Mac上免费恢复误删除的Word文档

Microsoft Word for Mac是一个有用的文字处理应用程序&#xff0c;它与Microsoft Office套件捆绑在一起。该软件的稳定版本包括 Word 2019、2016、2011 等。 Word for Mac 与 Apple Pages 兼容;这允许在不同的操作系统版本中使用Word文档&#xff0c;而不会遇到任何麻烦。 与…

springboot websocket 知识点汇总

以下是一个详细全面的 Spring Boot 使用 WebSocket 的知识点汇总 1. 配置 WebSocket 添加依赖 进入maven官网, 搜索spring-boot-starter-websocket&#xff0c;选择版本, 然后把依赖复制到pom.xml的dependencies标签中 配置 WebSocket 创建一个配置类 WebSocketConfig&…

【机器学习】机器学习与图像分类的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在图像分类中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 数据增强 1.2 模型选择1.2.1 卷积神经网络1.2.2 迁移学习1.2.3 混合模型 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化器 1.4 模型评估与性能优…

SD-WAN组网搭建5G备份方案实现方式

SD-WAN&#xff08;Software-Defined Wide Area Network&#xff0c;软件定义广域网&#xff09;结合5G作为备份链路是现代企业网络弹性策略的一部分&#xff0c;尤其是在需要高可用性和快速故障切换的场景下。以下是实现SD-WAN组网并集成5G备份方案的一般步骤&#xff1a; 1. …

Postfix+Dovecot+Roundcube开源邮件系统搭建系列1-2:系统搭建目标+MariaDB数据库配置(MySQL)

1. 系统搭建目标 通过本系列文章&#xff0c;最终可以部署一套提供如下服务的邮件系统&#xff1a; SMTP服务&#xff1a;由Postfix提供&#xff0c;监听25、465、587端口。POP3服务&#xff1a;由Dovecot提供&#xff0c;监听110、995端口。IMAP服务&#xff1a;由Dovecot提…

2024全球和国内最常用的弱密码,有没有你的?

密码管理器NordPass分析了来自公开来源的超过4.3TB 的密码数据&#xff0c;找出了当前为止&#xff08;2024年&#xff09;最常用&#xff08;最脆弱&#xff09;的密码。 这些密码主要有下面这些特征&#xff1a; 简单且常用&#xff0c;万年弱密码&#xff0c;比如123456、a…

Qt支持LG高级汽车内容平台

Qt Group与LG 电子&#xff08;简称LG&#xff09;正携手合作&#xff0c;将Qt软件框架嵌入其基于 webOS的ACPLG车载娱乐平台&#xff0c;用于应用程序开发。该合作旨在让原始设备制造商&#xff08;OEM&#xff09;的开发者和设计师能为汽车创建更具创新性的沉浸式汽车内容流媒…

Flutter应用开发:掌握StatefulWidget的实用技巧

前言 随着移动应用的日益复杂&#xff0c;状态管理成为了 Flutter 应用开发中的一项重要挑战。 状态&#xff0c;即应用中的可变数据&#xff0c;它驱动着用户界面的渲染和交互。 在 Flutter 这样的声明式 UI 框架中&#xff0c;如何高效、可维护地管理状态&#xff0c;对于…

linux环境安装mongoDB

一、安装单体mogodb 目标&#xff1a;在Linux中部署一个单机的MongoDB&#xff0c;作为生产环境下使用。 提示&#xff1a;和Windows下操作差不多。 步骤如下&#xff1a; &#xff08;1&#xff09;先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。 &#xff08;2&…

WEB前端06-BOM对象

BOM浏览器对象模型 浏览器对象模型&#xff1a;将浏览器的各个组成部分封装成对象。是用于描述浏览器中对象与对象之间层次关系的模型&#xff0c;提供了独立于页面内容、并能够与浏览器窗口进行交互的对象结构。 组成部分 Window&#xff1a;浏览器窗口对象 Navigator&…

【STC89C51单片机】定时器中断系统

中断概念 中断是一种重要的硬件机制&#xff0c;用于在处理器正在执行程序时&#xff0c;能够及时响应某些外部或内部事件。中断可以临时中止当前正在执行的指令序列&#xff0c;转而去执行专门的中断服务程序&#xff08;ISR&#xff0c;Interrupt Service Routine&#xff0…

Linux系统部署MySQL数据库

1.Linux插入光盘&#xff0c;使用df-h获取光盘信息&#xff0c;默认/dev/sr0文件为光盘文件 使用命令 mount -o ro /dev/sr0 /media进行手动挂载 mount -o ro /dev/sr0 /media 2.进入cd /etc/yum.repos.d目录 编辑配置yum库&#xff0c;编辑vim yum.repos [BaseOS] nameba…