在当今时代, 用日期和时间分析数据集是一项繁琐的任务。由于月份的长度不同, 因此, 根据我们的情况, 需要考虑工作日和周末的分布, leap年和时区。因此, 由于这个原因, Python专门为日期和时间定义了一种新的数据类型, 称为datetime。
但是, 在许多数据集中, 字符串用于表示日期。因此, 在本主题中, 你将学习如何将日期字符串转换为datetime格式, 并了解这些功能强大的工具集如何帮助有效处理复杂的时间序列数据。
此方案背后的挑战是如何表达日期字符串。例如, ” 2018年6月6日星期三”也可以显示为” 6/6/18″和” 06-06-2018″。所有这些格式都定义了相同的日期, 但是代码所表示的每种格式转换都略有不同。
fromdatetime import datetime
# Define dates as the strings
dmy_str1 = 'Wednesday, July 14, 2018'
dmy_str2 = '14/7/17'
dmy_str3 = '14-07-2017'
# Define dates as the datetime objects
dmy_dt1 = datetime.strptime(date_str1, '%A, %B %d, %Y')
dmy_dt2 = datetime.strptime(date_str2, '%m/%d/%y')
dmy_dt3 = datetime.strptime(date_str3, '%m-%d-%Y')
#Print the converted dates
print(dmy_dt1)
print(dmy_dt2)
print(dmy_dt3)
输出
2017-07-14 00:00:00
2017-07-14 00:00:00
2018-07-14 00:00:00
转换日期字符串列
此转换说明如何将整个日期字符串列从数据集转换为datetime格式。
从现在开始, 你必须使用名为eth的DataFrame, 该数据框架包含以太坊的历史数据, 以及一种加密货币, 其区块链由以太坊平台生成。数据集包括以下几列:
日期:定义实际的日期, 每天在世界标准时间00:00。
txVolume:它是指未调整的以美元为单位的总价值的度量单位, 在区块链上的输出中。
txCount:定义在公共区块链上执行的交易数量。
marketCap:以美元为单位的价格乘以流通的单位数。
价格:指在世界标准时间00:00的美元开盘价。
generateCoins:指代新硬币的数量。
exchangeVolume:指在GDAX和Bitfinex之类的交易所中以美元为单位的实际交易量。