Python 从csv中删除冗余时间戳
我已经创建了一个CSV文件从不同的传感器使用熊猫数据帧记录。CSV文件基本上如下所示: 我想去掉多余的时间戳,而是让共享时间戳的所有传感器条目显示在同一行中(例如图像中的x2和x3)。 此外,共享时间戳的标签总是相同的,但也需要减少 到目前为止,我遇到了只删除整行的Python 从csv中删除冗余时间戳,python,pandas,dataframe,csv,data-science,Python,Pandas,Dataframe,Csv,Data Science,我已经创建了一个CSV文件从不同的传感器使用熊猫数据帧记录。CSV文件基本上如下所示: 我想去掉多余的时间戳,而是让共享时间戳的所有传感器条目显示在同一行中(例如图像中的x2和x3)。 此外,共享时间戳的标签总是相同的,但也需要减少 到目前为止,我遇到了只删除整行的drop\u duplicate()函数 编辑:以下是上述示例的文本版本: timestamp,sensor_a,sensor_b,sensor_c,label 1,x1,,,0 2,,x2,,0 2,,,x3,0 3,x4,,,1
drop\u duplicate()
函数
编辑:以下是上述示例的文本版本:
timestamp,sensor_a,sensor_b,sensor_c,label
1,x1,,,0
2,,x2,,0
2,,,x3,0
3,x4,,,1
4,,,,1
5,,x6,,1
5,,,x7,1
我假设您将数据存储在文本文件
sensors.txt
中,因此我们可以根据以下代码基于时间戳来合并数据
import pandas as pd
df = pd.read_csv('sensors.txt', delimiter=',', header=0)
df2 = df.groupby('timestamp').ffill()
df2['timestamp'] = df['timestamp']
df2 = df2.groupby('timestamp').bfill()
df2['timestamp'] = df['timestamp']
df2 = df2.drop_duplicates()
df = df2[['timestamp', 'sensor_a', 'sensor_b', 'sensor_c', 'label']]
print(df)
输出
timestamp sensor_a sensor_b sensor_c label
0 1 x1 NaN NaN 0
1 2 NaN x2 x3 0
3 3 x4 NaN NaN 1
4 4 NaN NaN NaN 1
5 5 NaN x6 x7 1
将根据您在下面评论中提出的问题进行进一步编辑
祝你好运空白处的内容是什么?是``还是没有,还是别的什么?我认为最好像您一样以文本形式给出数据框。我仔细检查了我正在处理的真实数据帧-如文本示例中所示,空格是空的。