pandas 使用panda to_datetime而不删除时间信息

niwlg2el  于 2023-03-16  发布在  其他
关注(0)|答案(2)|浏览(106)

使用此代码:

import pandas as pd
df = pd.DataFrame(["2013-03-13T00:00:00"], columns=["t"])
pd.to_datetime(dft["t"])

结果是:

0   2013-03-13
Name: t, dtype: datetime64[ns]

但是我想保留时间信息,altough00:00:00,因为还有其他行有更相关的时间信息,不管怎么说,panda在做to_datetime的时候会把它去掉,我尝试过to_datetime的不同参数,都没有成功。

pd.__version__
'1.5.3'

sys.version
'3.10.9 (main, Feb 28 2023, 09:28:42) [Clang 14.0.0 (clang-1400.0.29.202)]'
btqmn9zl

btqmn9zl1#

不用担心,它不会删除,只是不显示,如果所有显示的日期时间有00:00:00时间:

dft = pd.DataFrame(["2013-03-13T00:00:00"] * 3 + ['2013-03-13T10:00:00'] * 2, columns=["t"])
d = pd.to_datetime(dft["t"])
print (d)
0   2013-03-13 00:00:00
1   2013-03-13 00:00:00
2   2013-03-13 00:00:00
3   2013-03-13 10:00:00
4   2013-03-13 10:00:00
Name: t, dtype: datetime64[ns]

print (d.head(3))
0   2013-03-13
1   2013-03-13
2   2013-03-13
Name: t, dtype: datetime64[ns]

print (d.tolist())
[Timestamp('2013-03-13 00:00:00'), Timestamp('2013-03-13 00:00:00'), 
 Timestamp('2013-03-13 00:00:00'), Timestamp('2013-03-13 10:00:00'), 
 Timestamp('2013-03-13 10:00:00')]
vsikbqxv

vsikbqxv2#

pd.to_datetime(df["t"]).dt.strftime("%Y-%m-%d %H:%M:%S")

相关问题