gpt4 book ai didi

python - 从二进制序列到时间序列频率

转载 作者:行者123 更新时间:2023-12-01 01:04:21 24 4
gpt4 key购买 nike

我有一个数据集,其中包含来自存在传感器的数据,这些数据以二进制序列的形式存储,频率为 1 小时。传感器每 2 分钟检查一次存在,并每小时以二进制序列存储它(0 表示未检测到存在,1 表示检测到存在),这意味着一个数据点有 30 位数字。一个传感器一小时的数据点如下所示:001111110111100000001000000100。

我想创建频率为 2 分钟的数据帧,并为每个传感器创建指示存在或不存在的列(1 或 0)。

有什么想法吗?

MACAddress          f8:f0:05:d0:ee:29              f8:f0:05:d0:f1:0b                f8:f0:05:d0:f1:1d   
2019-04-02 09:00:00 100100000000000000000000000000 100000000000001111111111010111 111111110111111111111110110000
2019-04-02 09:00:00 001110110000000000000000011111 111110000000000000111111110100 111010110011111111111011111111

谢谢

最佳答案

这是我的建议,希望对您有所帮助:

构建一些示例数据:

dd = {'f8:f0:05:d0:ee:29': ['100100000000000000000000000000', '001110110000000000000000011111'],
'f8:f0:05:d0:f1:0b': ['100000000000001111111111010111', '111110000000000000111111110100'],
'f8:f0:05:d0:f1:1d': ['111111110111111111111110110000', '001110110000000000000000011111']}
df = pd.DataFrame(dd, index=['2019-04-02 09:00:00', '2019-04-02 10:00:00'])
df.index = pd.to_datetime(df.index)

解决方案:

expanded = df.apply(lambda series: series.apply(lambda x: pd.Series(list(x))).stack())
expanded.index = expanded.index.get_level_values(0) + (expanded.index.get_level_values(1)*2).astype('timedelta64[m]')

关于python - 从二进制序列到时间序列频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55519032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com