第一个数据帧可以使用 pandas 转换为日期时间格式。第二个数据帧丢失了输入时间字符串中的一些字段,将时间字符串转换为日期时间对象的正确方法是什么?
import pandas as pd
data = [
'+2h03m46s456ms',
]
df = pd.DataFrame(data, columns=['ts'])
df['ts'] = pd.to_datetime(df['ts'], format="+%Hh%Mm%Ss%fms")
print(df)
data2 = [
'0',
'+456ms',
'+46s456ms',
'+3m46s456ms'
]
df2 = pd.DataFrame(data2, columns=['ts'])
#df2['ts'] = pd.to_datetime(df2['ts'], format="+%Hh%Mm%Ss%fms")
print(df2)
输出:
ts
0 1900-01-01 02:03:46.456
ts
0 0
1 +456ms
2 +46s456ms
3 +3m46s456ms
这些是时间增量,而不是日期时间。
df = pd.DataFrame(data, columns=['ts'])
df['ts'] = pd.to_timedelta(df['ts'])
print(df)
df2 = pd.DataFrame(data2, columns=['ts'])
df2['ts'] = pd.to_timedelta(df2['ts'])
print(df2)
ts
0 0 days 02:03:46.456000
ts
0 0 days 00:00:00
1 0 days 00:00:00.456000
2 0 days 00:00:46.456000
3 0 days 00:03:46.456000