为了账号安全,请及时绑定邮箱和手机立即绑定

如何在使用 Pandas 导入 csv 文件期间有效地删除重叠的行?

如何在使用 Pandas 导入 csv 文件期间有效地删除重叠的行?

幕布斯6054654 2021-12-17 16:29:03
我正在尝试使用如下所示的 Pandas 导入 csv 文件:文件 1:Date;Time;Value2019-03-07;20:43;0.0512019-03-07;20:44;0.048...2019-03-07;22:55;0.0952019-03-07;22:56;0.098  文件2:Date;Time;Value2019-03-07;22:55;0.0952019-03-07;22:56;0.098    ...2019-03-08;09:10;0.0242019-03-08;09:11;0.022目前我正在导入这样的数据:data = pd.concat([pd.read_csv(open(file),sep=';') for file in files])data.index = pd.to_datetime(data['Date'] + ' ' + data['Time'])   显然,现在我在导入的数据框中有两次测量数据的重叠部分,绘制如下:由于我需要评估大量 csv 文件,因此我对处理这种情况的最有效方法很感兴趣。我想到了这两个选项:在循环内导入文件,并且对于每个文件,仅使用file[i] > file[i-1].像我现在一样导入文件并在附加步骤中删除重复项。这些选项中哪个更有效,是否有我现在没有想到的更有效的选择?
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

至于删除重复项,pandas 支持:


data = pd.concat([pd.read_csv(open(file),sep=';') for file in files])

data.index = pd.to_datetime(data['Date'] + ' ' + data['Time']

data = data[~data.index.duplicated()]

另见文档:https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Index.duplicated.html


关于做到这一点的“最佳”方法,这取决于数据量、其他限制条件等。如果没有更多上下文就无法回答,无论如何都可能是基于意见的。


查看完整回答
反对 回复 2021-12-17
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信