【问题标题】:Comparing 2 csv files to remove rows比较 2 个 csv 文件以删除行
【发布时间】:2021-02-26 14:39:21
【问题描述】:

我有 2 个包含彼此相关信息的 csv 文件。一个 csv 文件的每一行对应于另一个文件中的另一行。为了准备数据,我需要从第一个 csv 文件中删除某些值,这会导致从该文件中删除某些行。现在,当我打印出这些行时,它们会跳来跳去。例如,第一个 csv 文件的某个部分从行号 20838 跳转到 20842、20843 等。所以我想要做的是将删除某些行的第一个 csv 文件与第二个 csv 文件进行比较,并删除那些当前不在第二个 csv 文件的第一个 csv 文件中,然后重新排序所有行,以便两个 csv 文件的行从 0 到 20000 列出。我使用的是 Pandas 和 numpy。 这是我用来从第一个 csv 文件中删除信息的代码:

data_csv1 = pd.read_csv("address1")
data_csv2 = pd.read_csv("address2")
data_csv1.drop(data.columns[[0]], axis = 1)
data_csv1 = data_csv1[(data_csv1 !=0).all(1)]

我该怎么做呢?我个人并不关心数据是被删除还是被忽略,我只需要两个 csv 文件都包含相同的行号。

【问题讨论】:

    标签: python pandas csv pycharm


    【解决方案1】:

    假设在开始时您的两个文件具有完全相同的索引,您可以在后处理后将第一个文件的索引传递给第二个文件:

    data_csv2 = data_csv2.iloc[data_csv1.index]
    

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 1970-01-01
      • 2018-12-18
      • 2016-04-02
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多