You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将<K: Date, V: Int>结构的RSSI数据字符串转为Pandas DataFrame

解决方案

你可以按以下步骤将字符串解析为带时间类型的Pandas DataFrame:

步骤1:拆分原始字符串,提取时间和RSSI键值对

由于原始字符串的格式是外层包裹方括号,内部用逗号分隔每个<时间:RSSI>对,且时间字段内部也包含冒号,因此需要从右侧分割第一个冒号来区分键和值,避免拆分时间字段。

步骤2:类型转换并生成DataFrame

可直接运行的完整代码如下:

import pandas as pd

# 你的原始字符串
string = '[2021-10-17 06:52:00 +0000: -47, 2021-10-17 06:52:04 +0000: -50, 2021-10-17 06:52:03 +0000: -50, 2021-10-17 06:52:02 +0000: -47, 2021-10-17 06:52:08 +0000: -46, 2021-10-17 06:51:57 +0000: -50, 2021-10-17 06:52:09 +0000: -48, 2021-10-17 06:52:05 +0000: -49, 2021-10-17 06:52:01 +0000: -48, 2021-10-17 06:51:58 +0000: -50, 2021-10-17 06:51:59 +0000: -50, 2021-10-17 06:52:06 +0000: -47, 2021-10-17 06:52:07 +0000: -48]'

# 处理字符串提取数据
data_list = []
# 先去掉外层方括号,再按逗号分割每个键值对
for entry in string.strip('[]').split(', '):
    # 从右侧分割第一个冒号,避免拆分时间内部的冒号
    date_part, rssi_part = entry.rsplit(':', 1)
    data_list.append({
        'Date': date_part.strip(),
        'RSSI': int(rssi_part.strip())
    })

# 生成DataFrame并转换时间类型
df = pd.DataFrame(data_list)
df['Date'] = pd.to_datetime(df['Date'])

# 可选:将时间列设为索引,方便后续时间序列计算、ML特征提取
# df = df.set_index('Date')

验证结果

运行后打印df.head(2)即可看到和你给出的样例一致的输出:

DateRSSI
02021-10-17 06:52:00+00:00-47
12021-10-17 06:52:04+00:00-50

其中Date列已经是Pandas内置的datetime64类型,RSSI为int类型,可直接用于后续模型计算。

内容的提问来源于stack exchange,提问作者Visal Rajapakse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:06:01