热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Python数据分析基础笔记(仅供本人学习记录)】时间日期转换实例

importpandasaspdfromdatetimeimportdatetime#导入股票数据dfpd.read_excel('p:\data\沪深股票股本变动数据.



import pandas as pd
from datetime import datetime
#导入股票数据
df = pd.read_excel('p:\data\沪深股票股本变动数据.xlsx',
sheet_name='sharedata')

#查看df中每个字段数据类型,发现df['日期']是int64
print(df.info())


RangeIndex: 65865 entries, 0 to 65864
Data columns (total 15 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 市场类型 65865 non-null object
1 股票代码 65865 non-null object
2 日期 65865 non-null int64
3 变动类型 65865 non-null object
4 每10股票分红(元) 26897 non-null float64
5 配股价(元) 26897 non-null float64
6 每10股票送几股 26897 non-null float64
7 每10股票配几股 26897 non-null float64
8 前流通盘 38936 non-null float64
9 后流通盘 38936 non-null float64
10 前总股本 38936 non-null float64
11 后总股本 38936 non-null float64
12 浓缩比例 8 non-null float64
13 份数 24 non-null float64
14 行权价 24 non-null float64
dtypes: float64(11), int64(1), object(3)
memory usage: 7.5+ MB
None

#将int转换成str
df_date = df['日期'].apply(str)
#用to_datetime()函数将字符串转换成时间格式,并增加'时间'字段
df['时间'] = pd.to_datetime(df_date,format='%Y/%m/%d')
print(df['时间'])

0 1990-03-01
1 1990-09-27
2 1990-09-27
3 1991-02-26
4 1991-03-12
...
65860 2016-12-31
65861 2016-12-31
65862 2016-12-31
65863 2016-12-31
65864 2016-12-31
Name: 时间, Length: 65865, dtype: datetime64[ns]

#将日期格式化,并增加'格式化日期'字段
df['格式化日期1'] = df.时间.apply(lambda x: datetime.
strftime(x, format='%Y-%m-%d'))
df['格式化日期2'] = df.时间.dt.strftime('%Y-%m-%d')
print(df['格式化日期1'],'\n',df['格式化日期2'])

0 1990-03-01
1 1990-09-27
2 1990-09-27
3 1991-02-26
4 1991-03-12
...
65860 2016-12-31
65861 2016-12-31
65862 2016-12-31
65863 2016-12-31
65864 2016-12-31
Name: 格式化日期1, Length: 65865, dtype: object
0 1990-03-01
1 1990-09-27
2 1990-09-27
3 1991-02-26
4 1991-03-12
...
65860 2016-12-31
65861 2016-12-31
65862 2016-12-31
65863 2016-12-31
65864 2016-12-31
Name: 格式化日期2, Length: 65865, dtype: object

#抽取'时间'字段中的值
df['时间.年'] = df['时间'].dt.year
df['时间.月'] = df['时间'].dt.month
df['时间.周'] = df['时间'].dt.weekday
df['时间.日'] = df['时间'].dt.day
df['时间.时'] = df['时间'].dt.hour
df['时间.分'] = df['时间'].dt.minute
df['时间.秒'] = df['时间'].dt.second
print(df['时间.年'],df['时间.月'],df['时间.周'],df['时间.日'])
print(df['时间.时'],df['时间.分'],df['时间.秒'])

0 1990
1 1990
2 1990
3 1991
4 1991
...
65860 2016
65861 2016
65862 2016
65863 2016
65864 2016
Name: 时间.年, Length: 65865, dtype: int64 0 3
1 9
2 9
3 2
4 3
..
65860 12
65861 12
65862 12
65863 12
65864 12
Name: 时间.月, Length: 65865, dtype: int64 0 3
1 3
2 3
3 1
4 1
..
65860 5
65861 5
65862 5
65863 5
65864 5
Name: 时间.周, Length: 65865, dtype: int64 0 1
1 27
2 27
3 26
4 12
..
65860 31
65861 31
65862 31
65863 31
65864 31
Name: 时间.日, Length: 65865, dtype: int64
0 0
1 0
2 0
3 0
4 0
..
65860 0
65861 0
65862 0
65863 0
65864 0
Name: 时间.时, Length: 65865, dtype: int64 0 0
1 0
2 0
3 0
4 0
..
65860 0
65861 0
65862 0
65863 0
65864 0
Name: 时间.分, Length: 65865, dtype: int64 0 0
1 0
2 0
3 0
4 0
..
65860 0
65861 0
65862 0
65863 0
65864 0
Name: 时间.秒, Length: 65865, dtype: int64











推荐阅读
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • MATLAB函数重名问题解决方法及数据导入导出操作详解
    本文介绍了解决MATLAB函数重名的方法,并详细讲解了数据导入和导出的操作。包括使用菜单导入数据、在工作区直接新建变量、粘贴数据到.m文件或.txt文件并用load命令调用、使用save命令导出数据等方法。同时还介绍了使用dlmread函数调用数据的方法。通过本文的内容,读者可以更好地处理MATLAB中的函数重名问题,并掌握数据导入导出的各种操作。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • 浙江大学2005–2006学年秋冬季学期《大学计算机基础》课程期末考试试卷开课学院:计算中心,考试形式:闭卷,允许带入场考试 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • python是一门简单灵动的语言。从今天开始我要每天都做笔记,每天都要写博客记录我所想,我所学到的。笔记提纲:1,pyt ... [详细]
author-avatar
dendfengg_566
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有