在我的Excel数据中,第1列的标题为“时间”。它包含如下数据和时间信息:7/26/2018 2:15:00 AM
在我的python代码中,我尝试使用pd.to_datetime将其转换为日期/时间格式。
这是我的代码。它看起来正确,但不起作用。
import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt
import datetime
#Basis
pf=0.9
datatimeinterval_mins = 15
#Pump/fan design specs
des_ampere = 327
des_voltage_kv = 3.3
des_kw = 1600
des_flow_nm3s = 49.9
lowclamp=35
min_flowratio = lowclamp/50
print(min_flowratio)
#Load dataset
df = pd.read_excel(r'C:\Users\Z003V0EE\Desktop\Python Test\Datasetrev0.xlsx', sheet_name=0, parse_date=[0])
print(df.head())
#Set index
df['Time'] = pd.to_datetime(df['Time'], format='%m/%d/%y %H:%M:%S %p')
df.set_index('Time', inplace=True)
#actual operating parameters
df['actualkw'] = (df.PAF2Current * des_voltage_kv * 0.9 * np.math.sqrt(3))
df['actualflowratio'] = (df.PAF2AirFlow / des_flow_nm3s)
df['expectedkw'] = (df.actualflowratio**3 * des_kw)
df['kwsavings'] = (df.actualkw - df.expectedkw)
df = df.round(2)
print(df.head())
plt.plot(df.index, df.PAF2AirFlow)
有人可以发现我的错误吗?
我收到以下错误: ValueError:时间数据'7/26/2018 2:15:00 AM'与格式'%m /%d /%y%H:%M:%S%p'(匹配)不匹配
先谢谢了。
答案 0 :(得分:0)
将格式更改为'%m/%d/%Y %I:%M:%S %p'
对我有用。注意大写字母Y。
在related docs中,%y
表示两位数的年份,而%Y
表示年份的四位数字。
此外,您应该使用%I
而不是%H
,因为前者是12小时,后者是24小时。
答案 1 :(得分:0)
我将使用dateutil.parser将字符串转换为日期时间。如果您的电子表格更改了时间格式,它非常漂亮,并且可以避免任何问题。