我有一个 pandas 数据框,我应用了 pandas.to_datetime。现在我想从每个时间戳中提取小时/分钟/秒。我用 df.index.day 来获取日期,现在,我想知道我的索引中是否有不同的时间。 例如,如果我有两个日期 d1 = 2020-01-01 00:00:00 和 d2 = 2020-01-02 00:00:00 我不能假设我应该按小时应用平滑运算符,因为没有意义.
所以我想知道的是:我怎么知道一天是否有不同的小时/分钟或秒?
提前致谢
最佳答案
我认为你应该使用 pandas 提供的 df[index].dt。 您可以使用它提取日、周、小时、分钟、秒。
请看这个。
dir(df[index].dt)
这是一个例子。
import pandas as pd
df = pd.DataFrame([["2020-01-01 06:31:00"], ["2020-03-12 10:21:09"]])
print(df)
df['time'] = pd.to_datetime(df["timestamp"])
df['dates'] = df['time'].dt.date
df['hour'] = df['time'].dt.hour
df['minute'] = df['time'].dt.minute
df['second'] = df['time'].dt.second
现在你的 df 应该是这样的。
0 time dates hour minute second
0 2020-01-01 06:31:00 2020-01-01 06:31:00 2020-01-01 6 31 0
1 2020-03-12 10:21:09 2020-03-12 10:21:09 2020-03-12 10 21 9
关于python - 如何从 pandas.datetime 中提取小时数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282679/