从时间戳列表中获取小时和分钟
Get Hour and Minutes from list of timestamp
我有以下列表:
Index([2020-11-14 07:00:00, 2020-11-14 07:03:00, 2020-11-14 07:06:00,
2020-11-14 07:09:00, 2020-11-14 07:12:00, 2020-11-14 07:15:00,
2020-11-14 07:18:00, 2020-11-14 07:21:00, 2020-11-14 07:24:00,
2020-11-14 07:27:00,
...
2020-11-14 16:33:00, 2020-11-14 16:36:00, 2020-11-14 16:39:00,
2020-11-14 16:42:00, 2020-11-14 16:45:00, 2020-11-14 16:48:00,
2020-11-14 16:51:00, 2020-11-14 16:54:00, 2020-11-14 16:57:00,
2020-11-14 17:00:00],
dtype='object', length=201)
列表中的项目类型:
type(time_lst[0])
>>>pandas._libs.tslibs.timestamps.Timestamp
我想 运行 遍历我的 lsit 中的项目并仅提取小时和分钟,以获得如下内容:
[07:00,07:03,07:06,07:09....]
直到现在我发现只有帖子是关于如何单独获取小时或分钟的。我设法只提取了小时,但我没有资助如何计算小时和分钟。
#here I get all the timestamp items inside my lsit from pandas dataframe
time_lst=tmp.columns
#get the hour
for i in time_lst:
x=i.hour
print(x)
我试过这样做:
time_lst=tmp.columns
for i in time_lst:
h=i.hour
m=i.min
item=str(h)+':'+str(m)
print(item)
但这会打印出奇怪的值 (7:1677-09-21 00:12:43.145225),我相信有更高效、更智能的方法来提取小时和分钟,然后将其转换为字符串。
我的最终目标是创建新列表,其中仅包含我的时间戳列表中的小时和分钟
如果需要处理DatetimeIndex
使用DatetimeIndex.strftime
:
L = df.index.strftime('%H:%M').tolist()
如果需要处理列表或 DatetimeIndex
使用列表理解 Timestamp.strftime
:
L = [x.strftime('%H:%M') for x in time_lst]
您可以使用 strftime
:
pd.to_datetime(pd.Series("your list")).dt.strftime("%H:%M")
我有以下列表:
Index([2020-11-14 07:00:00, 2020-11-14 07:03:00, 2020-11-14 07:06:00,
2020-11-14 07:09:00, 2020-11-14 07:12:00, 2020-11-14 07:15:00,
2020-11-14 07:18:00, 2020-11-14 07:21:00, 2020-11-14 07:24:00,
2020-11-14 07:27:00,
...
2020-11-14 16:33:00, 2020-11-14 16:36:00, 2020-11-14 16:39:00,
2020-11-14 16:42:00, 2020-11-14 16:45:00, 2020-11-14 16:48:00,
2020-11-14 16:51:00, 2020-11-14 16:54:00, 2020-11-14 16:57:00,
2020-11-14 17:00:00],
dtype='object', length=201)
列表中的项目类型:
type(time_lst[0])
>>>pandas._libs.tslibs.timestamps.Timestamp
我想 运行 遍历我的 lsit 中的项目并仅提取小时和分钟,以获得如下内容:
[07:00,07:03,07:06,07:09....]
直到现在我发现只有帖子是关于如何单独获取小时或分钟的。我设法只提取了小时,但我没有资助如何计算小时和分钟。
#here I get all the timestamp items inside my lsit from pandas dataframe
time_lst=tmp.columns
#get the hour
for i in time_lst:
x=i.hour
print(x)
我试过这样做:
time_lst=tmp.columns
for i in time_lst:
h=i.hour
m=i.min
item=str(h)+':'+str(m)
print(item)
但这会打印出奇怪的值 (7:1677-09-21 00:12:43.145225),我相信有更高效、更智能的方法来提取小时和分钟,然后将其转换为字符串。
我的最终目标是创建新列表,其中仅包含我的时间戳列表中的小时和分钟
如果需要处理DatetimeIndex
使用DatetimeIndex.strftime
:
L = df.index.strftime('%H:%M').tolist()
如果需要处理列表或 DatetimeIndex
使用列表理解 Timestamp.strftime
:
L = [x.strftime('%H:%M') for x in time_lst]
您可以使用 strftime
:
pd.to_datetime(pd.Series("your list")).dt.strftime("%H:%M")