【发布时间】:2018-08-02 23:53:11
【问题描述】:
我有一个以 5 位格式表示日期和时间的数据集:ddd + hm
ddd 部分从 2009 年 1 月 1 日开始。由于仅收集了从那时到 2 年的数据,因此其 [min, max] 将为 [1, 365 x 2 = 730]。
以 30 分钟的间隔观察数据,使每天 24 小时的时间延长至最多 48 小时。所以 [min, max] 表示 [1, 48] 处的 hm。
以下是 daycode.csv 文件的摘录,其中包含日期代码的 ddd 部分、匹配日期和日期代码的 hm 部分、匹配时间。
我想我同意不显示来自 ISSDA 的数据集。所以..我将描述 File1.txt 文件中的 daycode 读起来像“63317”。
This link 让我了解了如何解决这个问题,而我正在将这段代码放在一起……当然此时这不起作用。
consume = pd.read_csv("data/File1.txt", sep= ' ', encoding = "utf-8", names =['meter', 'daycode', 'val'])
df1= pd.read_csv("data/daycode.csv", encoding = "cp1252", names =['code', 'print'])
test = consume[consume['meter']==1048]
test['daycode'] = test['daycode'].map(df1.set_index('code')['print'])
plt.plot(test['daycode'], test['val'], '.')
plt.title('test of meter 1048')
plt.xlabel('daycode')
plt.ylabel('energy consumption [kWh]')
plt.show()
并非所有单位(数千个)都被观察到完整长度,但 730 x 48 是一个很大的组合,可以手动在 excel 上布局。 Tbh,不是一个优雅的解决方案,但我尝试通过拖动 - 它不太明白。
如果我可以读取列值的前 3 位数字并与另一个文件的列匹配,最后 2 个数字与另一列匹配,那么结合..有没有办法?
【问题讨论】:
-
欢迎来到 SO!请提供 minimal reproducible example
标签: pandas csv dataframe plot replace