将 2d 列表转换为 Python 中的日期时间,然后绘制
Convert 2d list to datetime in Python and then plot
我正在尝试将一个巨大的二维字符串日期列表绘制到 x 轴上,但是刻度太多了。
这是列表的简短示例
[['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM' '2021-10-01 10:31:13 PM'],['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM' '2021-10-01 10:31:13 PM']]
我想将此列表转换为日期时间对象,以便减少这些刻度线。
我不确定如何在二维列表上执行此操作。
例如,这不起作用,因为它在列表中。
dates_list = [datetime.strptime(date, '"%Y-%m-%d"').date() for date in valueTime_list]
由于无法将 strptime
应用于列表,因此必须在第二个循环中遍历嵌套列表。
此外,您的初始 valueTime_list
中缺少一些逗号,并且 strptime
的 format
必须与列表之一匹配:
from datetime import datetime
valueTime_list = [['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM', '2021-10-01 10:31:13 PM'],['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM', '2021-10-01 10:31:13 PM']]
dates_list = [datetime.strptime(date, '%Y-%m-%d %I:%M:%S %p').date()
for date_lst in valueTime_list for date in date_lst]
print(dates_list)
输出:
[datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1)]
编辑:如果您想保留二维结构,请在您的理解中添加括号:
dates_list = [[datetime.strptime(date, '%Y-%m-%d %I:%M:%S %p').date() for date in date_lst]
for date_lst in valueTime_list]
如果您使用的是 pandas
,则可以使用 pd.to_datetime
转换器:
dates_list = [pd.to_datetime(lst, infer_datetime_format=True) for lst in valueTime_list]
这将产生与 DateTimeIndex
个对象(日期时间对象系列)相同的二维列表。
我正在尝试将一个巨大的二维字符串日期列表绘制到 x 轴上,但是刻度太多了。
这是列表的简短示例
[['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM' '2021-10-01 10:31:13 PM'],['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM' '2021-10-01 10:31:13 PM']]
我想将此列表转换为日期时间对象,以便减少这些刻度线。
我不确定如何在二维列表上执行此操作。
例如,这不起作用,因为它在列表中。
dates_list = [datetime.strptime(date, '"%Y-%m-%d"').date() for date in valueTime_list]
由于无法将 strptime
应用于列表,因此必须在第二个循环中遍历嵌套列表。
此外,您的初始 valueTime_list
中缺少一些逗号,并且 strptime
的 format
必须与列表之一匹配:
from datetime import datetime
valueTime_list = [['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM', '2021-10-01 10:31:13 PM'],['2021-10-01 10:25:42 PM','2021-10-01 10:31:13 PM', '2021-10-01 10:31:13 PM']]
dates_list = [datetime.strptime(date, '%Y-%m-%d %I:%M:%S %p').date()
for date_lst in valueTime_list for date in date_lst]
print(dates_list)
输出:
[datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1), datetime.date(2021, 10, 1)]
编辑:如果您想保留二维结构,请在您的理解中添加括号:
dates_list = [[datetime.strptime(date, '%Y-%m-%d %I:%M:%S %p').date() for date in date_lst]
for date_lst in valueTime_list]
如果您使用的是 pandas
,则可以使用 pd.to_datetime
转换器:
dates_list = [pd.to_datetime(lst, infer_datetime_format=True) for lst in valueTime_list]
这将产生与 DateTimeIndex
个对象(日期时间对象系列)相同的二维列表。