谢谢你看这....合并数据帧后,通过日期后,持续降低
需要降低物联网传感器数据时间戳和合并的精度。
我有以下数据
2个CSV文件CSV-1
datetime,temperature
2017-06-13 22:20:11.309,82.4
2017-06-13 22:19:54.004,82.4
2017-06-13 22:19:36.661,82.4
2017-06-13 22:19:19.359,82.4
CSV-2
datetime,humidity
2017-06-13 22:07:30.723,63.0
2017-06-13 22:07:13.448,63.0
2017-06-13 22:06:56.115,63.0
2017-06-13 22:06:38.806,63.0
注意,日期时间条目到毫秒。我正在使用下面的代码将精度降低到秒。
ugt = pd.read_csv('ugt.csv', parse_dates=True, index_col=0)
ugh = pd.read_csv('ugh.csv', parse_dates=True, index_col=0)
ugt.index = ugt.index.map(lambda x: x.replace(microsecond=0))
ugh.index = ugh.index.map(lambda x: x.replace(microsecond=0))
产生以下dataframes:
temperature
datetime
2017-06-13 22:06:57 82.4 <---
2017-06-13 22:06:37 82.4
2017-06-13 22:06:20 82.4
2017-06-13 22:06:03 82.0 <---
humidity
datetime
2017-06-13 22:06:57 63.0 <---
2017-06-13 22:06:38 63.0
2017-06-13 22:06:21 63.0
2017-06-13 22:06:03 63.0 <---
注意一些时间戳匹配的(见< ---)到第二,有的则没有。这是由于各种传感器执行读数的能力的限制。没有一贯的频率。
然后我们创建一个主数据框,在我们从所有传感器收集数据的时间段内,每天的第二天创建行数据。
temperature humidity
2017-04-25 12:00:00 0 0
2017-04-25 12:00:01 0 0
2017-04-25 12:00:02 0 0
2017-04-25 12:00:03 0 0
2017-04-25 12:00:04 0 0
我们无法弄清楚如何使用熊猫CONCAT,合并,两家的CSV文件追加到基于日期时间的主数据帧。我们要的是以下几点:
temperature humidity
2017-04-25 12:00:00 0 0
2017-04-25 12:00:01 82.0 0
2017-04-25 12:00:02 0 44.0
2017-04-25 12:00:03 0 0
2017-04-25 12:00:04 82.0 44.0
2017-04-25 12:00:05 0 0
2017-04-25 12:00:06 82.0 0
2017-04-25 12:00:07 0 0
2017-04-25 12:00:08 82.0 44.0
有额外的传感器,我们将在未来....光,二氧化碳增加,所以几乎每一秒钟都会最终不得不在它的数据列。
我们还希望对各种传感器能够收集数据的频率及其精度进行一些分析,从而使用主数据帧。
你们都摇滚!谢谢你的帮助。
您是否需要创建主数据框?看起来似乎很稀疏,听起来好像会有很多循环来填充它(尽管可能有一些熊猫的方法来解决它)。 –
我们可以将两个csv文件合并为只包含条目(跳过没有任何传感器值的秒),但即使是空的,每秒钟的主DF也可以让我们更容易地分析传感器能够收集数据,以及它可以做到多准确。欢迎您的想法 –
好吧我提出了一个主数据框的解决方案,让我知道它是否工作。 –