如何将 pandas 数据帧纪元值转换为可读的日期时间格式

how do you convert pandas data frame epoch values to readable datetime format

我有一个这样的数据框:

print(df)
Metric  TimeStamp       Value
cpu     1642039200000   4
cpu     1642042800000   3
cpu     1642046400000   5

我需要将 TimeStamp 转换为可读的时间戳年月日 hour:min:sec

我试过:

导入日期时间

df['TimeStamp']=datetime.datetime.fromtimestamp(df['TimeStamp'])

似乎没有用。

datetime.datetime.fromtimestamp 需要一个值。要使用系列,请使用 pandas' 方法:

pd.to_datetime(df['TimeStamp']*1000000, utc=True).dt.tz_convert('EST').dt.strftime("%Y-%m-%d")

示例:

df = pd.DataFrame({'ts': [1642039200000, 1642042800000, 1642046400000]}) 
df['ts'] = pd.to_datetime(df['ts']*1000000, utc=True).dt.tz_convert('EST')
df['ts']

输出:

0   2022-01-12 21:00:00-05:00
1   2022-01-12 22:00:00-05:00
2   2022-01-12 23:00:00-05:00
Name: ts, dtype: datetime64[ns, EST]

要得到特定的字符串格式,df['ts'].dt.strftime("%Y-%m-%d")会输出:

0    2022-01-12
1    2022-01-12
2    2022-01-12
Name: ts, dtype: object