Pandas中将列类型从字符串转换为日期时间格式

news2024/11/16 23:54:39

在Pandas中处理数据时,遇到时间序列数据并不罕见,我们知道Pandas是在python中处理时间序列数据的非常有用的工具。

让我们看看如何将字符串的字符串列(dd/mm/yyyy格式)转换为datetime格式。如果日期的格式不正确,我们将无法对日期执行任何基于时间序列的操作。为了能够使用它,我们需要将数据转换为日期时间格式。

使用pd.to_datetime()函数将Pandas的字符串列类型转换为datetime格式

# importing pandas as pd
import pandas as pd
 
# Creating the dataframe
df = pd.DataFrame({'Date':['11/8/2011', '04/23/2008', '10/2/2019'],
                'Event':['Music', 'Poetry', 'Theatre'],
                'Cost':[10000, 5000, 15000]})
 
# Print the dataframe
print(df)
 
# Now we will check the data type 
# of the 'Date' column
df.info()

在这里插入图片描述
在这里插入图片描述
正如我们在输出中看到的,“Date”列的数据类型是object,即string。现在我们将使用pd.to_datetime()函数将其转换为datetime格式。

# convert the 'Date' column to datetime format
df['Date']= pd.to_datetime(df['Date'])

# Check the format of 'Date' column
df.info()

在这里插入图片描述
正如我们在输出中所看到的,“Date”列的格式已更改为datetime格式。

使用DataFrame.astype()函数将Pandas字符串列类型从字符串转换为日期时间格式

# importing pandas as pd
import pandas as pd

# Creating the dataframe
df = pd.DataFrame({'Date':['11/8/2011', '04/23/2008', '10/2/2019'],
				'Event':['Music', 'Poetry', 'Theatre'],
				'Cost':[10000, 5000, 15000]})

# Print the dataframe
print(df)

# Now we will check the data type
# of the 'Date' column
df.info()

在这里插入图片描述
在这里插入图片描述
正如我们在输出中看到的,“Date”列的数据类型是object,即string。现在我们将使用DataFrame.astype()函数将其转换为日期时间格式。

# convert the 'Date' column to datetime format
df['Date'] = df['Date'].astype('datetime64[ns]')
 
# Check the format of 'Date' column
df.info()

在这里插入图片描述
正如我们在输出中所看到的,“Date”列的格式已更改为datetime格式。

如果数据框列是’yymmdd’格式,我们必须将其转换为’yyyymmdd’格式

# importing pandas library
import pandas as pd

# Initializing the nested list with Data set
player_list = [['200712',50000],['200714',51000],['200716',51500],
			['200719',53000],['200721',54000],
			['200724',55000],['200729',57000]]

# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Dates','Patients'])

# printing dataframe 
print(df)
print()

# checking the type 
print(df.dtypes)

在这里插入图片描述

# converting the string to datetime format 
df['Dates'] = pd.to_datetime(df['Dates'], format='%y%m%d') 
 
# printing dataframe 
print(df)
print()
 
print(df.dtypes)

在这里插入图片描述
在上面的示例中,我们将列“Dates”的数据类型从“object”更改为“datetime64[ns]”,格式从“yymmdd”更改为“yyyymmdd”。

使用pandas.to_datetime()从字符串数据格式‘yyyymmdd’转换到日期格式

# importing pandas library
import pandas as pd

# Initializing the nested list with Data set
player_list = [['20200712',50000,'20200812'],
			['20200714',51000,'20200814'],
			['20200716',51500,'20200816'],
			['20200719',53000,'20200819'],
			['20200721',54000,'20200821'],
			['20200724',55000,'20200824'],
			['20200729',57000,'20200824']]

# creating a pandas dataframe
df = pd.DataFrame(
player_list,columns = ['Treatment_start',
						'No.of Patients',
						'Treatment_end'])

# printing dataframe 
print(df)
print()

# checking the type 
print(df.dtypes)

在这里插入图片描述

# converting the string to datetime
# format in multiple columns
df['Treatment_start'] = pd.to_datetime(
                          df['Treatment_start'], 
                          format='%Y%m%d'
) 
df['Treatment_end'] = pd.to_datetime(
                          df['Treatment_end'], 
                          format='%Y%m%d'
) 
 
 
# printing dataframe 
print(df)
print()
 
print(df.dtypes)

在这里插入图片描述
在上面的例子中,我们将列“Treatment_start”和“Treatment_end”的数据类型从“object”更改为“datetime64[ns]”类型。

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

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

相关文章

分享:Khoj:你的全能AI助手

在数字化时代,我们每天都会面对海量的信息,如何高效地管理和检索这些信息,同时提升工作效率,成为了许多人关注的焦点。为此,Khoj应运而生——一个功能强大、灵活多变的个人化AI助手,旨在助力用户轻松驾驭信…

AI绘画Stable Diffussion 实操教程: 真人图片秒变动漫风,亲手绘制你的专属动漫头像

大家好,我是向阳 你是否曾幻想过自己置身于动漫世界,拥有那些令人羡慕的二次元特征?随着人工智能技术的飞速发展,这一幻想已不再遥不可及。在本文中,我们将一起揭开Stable Diffusion技术的神秘面纱,探索如…

STM32学习笔记(十一)--SPI总线协议详解

概述:Serial Peripheral Interface,一组多从 传输速率比I2C快 但是线多 无应答 是一种同步(具有时钟线需要同步时钟SCL)、串行(一位一位的往一个方向发送)、全双工(发送接收同时)通…

Nvidia Isaac Sim图编程OmniGraph 入门教程 2024(6)

Nvidia Isaac Sim 入门教程 2024 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. …

嵌入式实验---实验八 ADC电压采集实验

一、实验目的 1、掌握STM32F103ADC电压采集程序设计流程; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用STM32F103R6采集可变电阻上的电压信号,并通过计算把当前ADC转换值和电压值显示在LCD1602液晶屏上; 2、对照电压表读数&…

《昇思25天学习打卡营第1天|ghqt》

参与这个类活动,我会坚持完成它的。目前MindSpore文档里面的内容还看的不是很懂,希望自己在能不断进步。 第一天学到的内容—— 昇腾应用使能:华为各大产品线基于MindSpore提供的AI平台或服务能力MindSpore:支持端、边、云独立的…

【自然语言处理系列】安装nltk_data和punkt库(亲测有效)

目录 一、下载nltk_data-gh-pages.zip数据文件 二、将nltk_data文件夹移到对应的目录 三、测试 四、成功调用punkt库 问题: 解决方案: 在使用自然语言处理库nltk时,许多初学者会遇到“nltk.download(punkt)”无法正常下载的问题。本…

FL Studio 21.2.3官方中文版重磅发布,手把手教你图文安装

FL Studio 21.2.3官方中文版重磅发布纯正简体中文支持,更快捷的音频剪辑及素材管理器,多样主题随心换! 在数字音乐制作领域,FL Studio一直以其强大的功能和用户友好的界面而备受赞誉。随着技术的不断进步和音乐制作需求的日益增长…

HarmonyOS Next开发学习手册——应用启动框架AppStartup

概述 AppStartup提供了一种简单高效的初始化组件的方式,开发者可以使用AppStartup来显示的设置组件的初始化顺序以及之间的依赖关系,支持异步初始化组件加速应用的启动时间。开发者需要分别为待初始化的组件实现AppStartup提供的 StartupTask 接口&…

达梦(DM8)数据库备份与还原(逻辑备份)一

一、达梦数据库的逻辑备份分四种级别的导出(dexp)与导入(dimp)的备份 第一种是:数据库级:导出或导入数据库中所有的对象。主要参数是:FULL 第二种是:用户级别:导出或导…

Kafka精要

Apach Kafka 是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心 的功能广为人知,即 作为企业级的消息引擎被广泛使用 kafka设计 Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topic 发布消息的程序成为 producers. 将预订 topics 并消…

实例080 进度条百分比显示

本文仅供学习交流,严禁用于商业用途,如本文涉及侵权请及时联系本人将于及时删除 目录 1.实例说明 2.技术要点 3.实现过程 4.实例结果 5.示例拓展 2.10 进度条控件典型实例进度条控件(Progress)用于显示程序的进度&#xff0c…

乐鑫云方案研讨会回顾|ESP RainMaker® 引领创业潮,赋能科创企业

近日,乐鑫信息科技 (688018.SH) ESP RainMaker 云生态方案线下研讨会和技术沙龙在深圳成功举办,吸引了众多来自照明电工、新能源、安防、宠物等垂类领域的客户与合作伙伴。活动现场,与会嘉宾围绕产品研发、测试认证、品牌构建、跨境电商等多维…

File文件转Blob文件,临时路径浏览器可查看

fileToBlob (file) { var reader new FileReader(); reader.readAsArrayBuffer(file); reader.onload function (event) { let blob new Blob([event.target.result], { type: file.type }); //{ type: file.type } 预览blob发现乱码可能是type不对 要获取file文件的type …

[C++深入] --- malloc/free和new/delete

1 new运算符的拓展 1.1 自由存储区与堆的概念 在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区。 自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。 new操作符从自由存储区(free st…

qml:导入B站Up主的FluentUI插件

文章目录 文章介绍如何加载1、下载代码2、官方文档和组件介绍 运行FluentUI新建自己的qml项目,并导入FluentUI调用组件,展示效果图 文章介绍 up主“会磨刀的小猪”模仿微软Fluent风格写的界面,可以理解为用qt和qml写出的win10/win11风格的界…

linux 下配置docker mirrors

一、配置mirrors vi /etc/docker/daemon.json {"registry-mirrors": ["https://docker.blfrp.cn"],"log-opts": {"max-size": "10m","max-file": "3"} }#完成配置后重启docker systemctl restart dock…

如何使用 NFTScan NFT API 在 Sei 网络上开发 Web3 应用

Sei Network 是一个专为交易而设计的 Layer 1 区块链。它建立在 Cosmos SDK 上,使用一种称为 Tendermint BFT 的新型共识机制。不仅专攻 DeFi 领域的加密资产交易,更在游戏、社交媒体和 NFTs 等热门 verticals 构建了多功能区块链生态系统。Sei Network …

【财务数字化转型之底座】集团企业财务数据中台系统建设方案

引言:随着企业规模的不断扩大和业务的复杂化,传统的财务管理模式已难以满足集团企业的数据整合、分析和决策需求。因此,建设一个高效、稳定、安全的财务数据中台系统,成为集团企业数字化转型的重要一环。本方案旨在构建一个集数据…

Retrofit类型安全的HTTP客户端库(json)

简介 Retrofit是Square公司开发的一个类型安全的HTTP客户端库,用于Android和Java平台,它使得与Web服务的交互变得更加简单快捷。Retrofit将HTTP API转换成Java接口,让你可以用更简洁的代码形式调用RESTful API,Android网络编程重点…