Python-Pandas-将格式为2018-01-01的日期列转换为时间戳的字符串版本

时间:2018-11-08 02:15:05

标签: python pandas

我有一个日期列,格式为2018-01-01

需要将其转换为时间戳值。

但是随后需要将时间戳值转换为等效的字符串。

人为的例子:

print(myDf["myDateColumn"])
0   2018-03-01
1   NaT  

-一些解决方案-

print(myDf["myConvertedDateValueAsTextVersionOf10DigitTimestamp"])
0     1322697600.0
1

已经做了很多搜索/尝试。无法将日期添加到时间戳中,也无法将时间戳添加到字符串中。

2 个答案:

答案 0 :(得分:1)

像这样转换为<form #createPost> <mat-form-field> <input matInput placeholder="Title"> </mat-form-field> </form> 并掩盖int

NaT

df["UnixTimestamp"] = s.astype(int).floordiv(1e9).mask(s.isna(), '').astype(str)

请注意,该列的类型为print(df["UnixTimestamp"]) 0 1519862400 1 Name: UnixTimestamp, dtype: object

答案 1 :(得分:0)

将字符串转换为Datetime对象,然后获取时间戳。

import datetime    
datetime.datetime.strptime('2018-03-01','%Y-%m-%d').timestamp()

结果

1519842600.0

现在可以像这样为数据帧实现此功能。可以通过这种方式创建新的 TimeStamp 列。

df = df.assign(TimeStamp = [datetime.datetime.strptime(val,'%Y-%m-%d').timestamp() for val in df.date.values])