Pandas教程-将字符串转换为日期
在当今时代,分析带有日期和时间的数据集是一项繁琐的任务。由于月份的不同长度、工作日和周末的分布、闰年和时区等因素,根据我们的上下文需要考虑这些事情。因此,出于这个原因,Python 定义了一种专门用于日期和时间的新数据类型,称为 datetime。
然而,在许多数据集中,字符串被用来表示日期。因此,在这个主题中,您将学习如何将日期字符串转换为 datetime 格式,并了解这套强大的工具如何帮助有效处理复杂的时间序列数据。
这种情况背后的挑战是日期字符串的表示方式。例如,'Wednesday, June 6, 2018' 可以表示为 '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,其中包含有关以太坊的历史数据,以及由以太坊平台生成的区块链的加密货币。数据集包含以下列:
- date: 定义实际日期,每日在 00:00 UTC。
- txVolume: 指的是以美元为单位的未调整的总输出价值,即区块链上的交易输出。
- txCount: 定义在公共区块链上执行的交易数量。
- marketCap: 指的是以美元为单位的单价乘以流通中的单位数量。
- price: 指的是每日在 00:00 UTC 的美元开盘价。
- generatedCoins: 指的是新币的数量。
- exchangeVolume: 指的是在交易所(如 GDAX 和 Bitfinex)以美元计量的实际交易量。