valueerror:无法将字符串转换为浮点:“12:00:00 pm”

qxsslcnc  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(363)

我正在尝试运行这段代码,它工作得很好,但当我包含时间列时,我得到了如何解决这个问题的错误,我尝试了这个

df['Time'] = pd.to_datetime(df['Time'])

但它不起作用
valueerror:无法将字符串转换为浮点:“12:00:00 pm”

import numpy as np
import pandas as pd
import seaborn as sns
from sklearn.ensemble import IsolationForest
import matplotlib.pyplot as plt
import scipy.stats as stats
df = pd.read_csv('C:/Users/mypc/data/mydata.csv')
df = df.fillna(df.median())
model=IsolationForest(n_estimators=50, max_samples='auto', contamination=float(0.1),max_features=1.0)
model.fit(df[['Year','Month','Day','Time','A','B']])
df['scores']=model.decision_function(df[['Year','Month','Day','Time','A','B']])
df['anomaly']=model.predict(df[['Year','Month','Day','Time','A','B']])

print(df.head(20))
df.to_csv(r'C:/Users/dataanom.csv', index=False, header=True)
anomaly=df.loc[df['anomaly']==-1]
anomaly_index=list(anomaly.index)
print(anomaly_index)
anomaly_index.sort()
print(anomaly_index)
df = pd.DataFrame(anomaly_index)

我的数据是这样的

szqfcxe2

szqfcxe21#

这是你所期望的吗:

>>> pd.to_datetime(df['Hours'], format="%I:%M:%S %p") \
      .apply(lambda t: t.hour*3600 + t.minute*60 + t.second)

0    43200
1    10800
2    50400
Name: Hours, dtype: int64

相关问题