我有一个数据帧,它有一个打开时间和一个关闭时间,我正在试图计算以毫秒为单位的差异。在
我的代码是这样的
df = df.assign(Latency=lambda d: d.CloseTimeStamp - d.CreationTimeStamp)
df.Latency = df.apply(lambda d: d.Latency.total_seconds() * 1000., axis=1)
但是,我想知道为什么我不能这样做
^{pr2}$当我尝试后者时,我得到AttributeError: 'Series' object has no attribute 'total_seconds'
{{cd2>需要使用
无λ溶液:
^{pr2}$…和不含
assign
的溶液:Total seconds在
.dt
属性内,因此应该可以这样做:尽管如此,不需要lambda函数:
^{pr2}$速度快得多。在
关于效率的进一步说明:
df.assign()
构建了一个全新的dataframe对象;如果您打算将此对象重新分配给df
,那么最好在适当的地方修改df
:相关问题 更多 >
编程相关推荐