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

Python-熊猫-将2018-01-01格式的日期列转换为时间戳的字符串版本,python,pandas,Python,Pandas,我有一个2018-01-01格式的日期栏 需要将其转换为时间戳值 但是,需要将时间戳值转换为其等效字符串 人为的例子: print(myDf["myDateColumn"]) 0 2018-03-01 1 NaT --一些解决方案-- 我已经做了相当多的搜索/尝试。无法将日期转换为时间戳,也无法将时间戳转换为字符串。转换为int和maskNaTs,如下所示 df["UnixTimestamp"] = s.astype(int).floordiv(1e9).mask(s.isna()

我有一个2018-01-01格式的日期栏

需要将其转换为时间戳值

但是,需要将时间戳值转换为其等效字符串

人为的例子:

print(myDf["myDateColumn"])
0   2018-03-01
1   NaT  
--一些解决方案--


我已经做了相当多的搜索/尝试。无法将日期转换为时间戳,也无法将时间戳转换为字符串。

转换为
int
和mask
NaT
s,如下所示

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


请注意,该列的类型为
str

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

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

1519842600.0
现在,可以对这样的数据帧实现这一点。可以用这种方式创建新的时间戳列

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

注意上面两个日期不匹配;但意图应该是明确的
1519842600.0
df = df.assign(TimeStamp = [datetime.datetime.strptime(val,'%Y-%m-%d').timestamp() for val in df.date.values])