我有一些无法复制的数据,但我正在向能源管理系统发出API请求,以构建一个简单的熊猫数据框架……当数据请求返回时,我向pd_to.CSV写入数据,然后使用index_col='Date', parse_dates=True
执行read_CSV
如何将其合并到我的应用编程接口请求中,并将时间戳标记为“日期”以及parse_dates=True?(跳过对CSV的读/写数据...)
from pyhaystack.client.niagara import NiagaraHaystackSession
import pandas as pd
session = NiagaraHaystackSession(uri='http://192.x.x.x', username='username', password='password', pint=True)
op = session.nav()
op.wait()
nav = op.result
print(nav)
#Get Data for the OSA-T & convert to Pandas series:
oat = session.find_entity(filter_expr='outsideAir').result
oat_df = session.his_read_frame(oat, rng= '2017-10-01,2018-01-01').result
oat_df = pd.Series(oat_df[oat_df.columns[0]])
#Get Data for the electrical energy kWh & convert to Pandas series:
elecMeter = session.find_entity(filter_expr='elecMeter').result
elecMeter_df = session.his_read_frame(elecMeter, rng= '2017-10-01,2018-01-01').result
elecMeter_df = pd.Series(elecMeter_df[elecMeter_df.columns[0]])
#Get Data for the natural gas energy therms & convert to Pandas series:
gasMeter = session.find_entity(filter_expr='gasMeter').result
gasMeter_df = session.his_read_frame(gasMeter, rng= '2017-10-01,2018-01-01').result
gasMeter_df = pd.Series(gasMeter_df[gasMeter_df.columns[0]])
UtilityInfo = pd.DataFrame({'oat' : oat_df, 'kWh' : elecMeter_df, 'therms' : gasMeter_df})
这就是我读/写CSV的地方,我希望将其合并到API请求中……除非这只是执行读/写操作的最佳实践?.基本上,在下面的读/写步骤之间,我必须作弊并打开Excel来标记时间戳列‘日期’,这是我希望避免的!
UtilityInfo.to_csv('C:\\Python Scripts\\UtilityInfo.csv', sep=',', header=True, index=True, na_rep='N/A')
UtilityInfo = pd.read_csv('C:\\Python Scripts\\UtilityInfo.csv', index_col='Date', parse_dates=True)
发布于 2018-01-10 23:58:26
您可以使用UtilityInfo.index.names=['Date']
为索引命名。
您还可以使用df.reset_index()从此索引创建一列
https://stackoverflow.com/questions/48177087
复制相似问题