Python-熊猫-将2018-01-01格式的日期列转换为时间戳的字符串版本
我有一个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()
print(myDf["myDateColumn"])
0 2018-03-01
1 NaT
--一些解决方案--
我已经做了相当多的搜索/尝试。无法将日期转换为时间戳,也无法将时间戳转换为字符串。转换为
int
和maskNaT
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])