您好我有以下数据帧
df =
Record_ID Time
94704 2014-03-10 07:19:19.647342
94705 2014-03-10 07:21:44.479363
94706 2014-03-10 07:21:45.479581
94707 2014-03-10 07:21:54.481588
94708 2014-03-10 07:21:55.481804
有可能有以下吗?
df1 =
Record_ID Time
94704 2014-03-10 07:19:19
94705 2014-03-10 07:21:44
94706 2014-03-10 07:21:45
94707 2014-03-10 07:21:54
94708 2014-03-10 07:21:55
您可以使用datetime64[ns]
将基础datetime64[s]
值转换为astype
值:
In [11]: df['Time'] = df['Time'].astype('datetime64[s]')
In [12]: df
Out[12]:
Record_ID Time
0 94704 2014-03-10 07:19:19
1 94705 2014-03-10 07:21:44
2 94706 2014-03-10 07:21:45
3 94707 2014-03-10 07:21:54
4 94708 2014-03-10 07:21:55
请注意,由于Pandas Series和DataFrames store all datetime values as datetime64[ns]
这些datetime64[s]
值会自动转换回datetime64[ns]
,因此最终结果仍然存储为datetime64[ns]
值,但调用astype
会导致秒的小数部分被删除。
如果你想拥有一个qumxswpoi值的NumPy数组,你可以使用datetime64[s]
。
如果你真的必须删除日期时间的df['Time'].values.astype('datetime64[s]')
部分,你可以使用microsecond
方法和Timestamp.replace
方法将它应用于整个系列,用Series.apply
替换microsecond
部分。示例 -
0
演示 -
df['Time'] = df['Time'].apply(lambda x: x.replace(microsecond=0))