如何解决重新排列 csv rssi 数据以按时间和位置 Python 分组
我有一个 csv 文件,它是一段时间内不同接入点的一系列 RSSI 数据记录,格式如下:
Time | Signal | Location
07:37:47 | -98.0 | bedroom
07:37:47 | -96.0 | bedroom
07:37:47 | -91.0 | kitchen
07:37:47 | -95.0 | kitchen
07:37:47 | -68.0 | stairs
07:37:48 | -60.0 | bedroom
07:37:48 | -60.0 | stairs
07:37:48 | -62.0 | stairs
07:37:48 | -60.0 | kitchen
07:37:48 | -70.0 | kitchen
等
我想重新排列它以输出每个不同位置每秒的平均信号强度,如下所示:
Time | bedroom | kitchen | stairs
07:37:47 | -97.0 | -93.0 | -68.0
07:37:48 | -60.0 | -65.0 | -61.0
等
即我想将接入点的位置移动到每个新列的标题,并在行中获得每秒的平均信号。
有没有一种干净的方法可以使用熊猫来做到这一点?我一直在摆弄 .groupby() 和 .resample() 但想不出一个简单的方法。任何帮助将不胜感激。
谢谢。
解决方法
使用pd.pivot_table
获取数据透视表,然后使用reset_index
创建Time
常规列:
import pandas as pd
import numpy as np
pd.pivot_table(data=df,values="Signal",index="Time",columns="Location",aggfunc=np.mean)\
.reset_index()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。