【问题标题】:Comparing 2 CSV files with different length and find out additional data比较 2 个不同长度的 CSV 文件并找出其他数据
【发布时间】:2021-11-28 14:00:38
【问题描述】:

我有两个 CSV 文件,都有不同的行数和列数,在文件 1 中,我有以下结构,

PRODUCT NAME PRODUCT TYPE PRODUCT SERIAL
Galaxy S6 Android Phone IAJ83934830485
Surface Pro Windows Tablet IM94545435493
iPhone 13 iOS Device IK983459435493

文件 2 具有以下结构

Shipment Day Price PRODUCT SERIAL
Thursday 70.5 IAJ83934830485
Friday 121.3 IK983459435493

我想要实现的是比较产品序列列,以从其他数据框中找出其中设备的发货日期和价格,因此最终结果如下

PRODUCT NAME PRODUCT TYPE PRODUCT SERIAL Shipment Day Price
Galaxy S6 Android Phone IAJ83934830485 Thursday 70.5
Surface Pro Windows Tablet IM94545435493 N/A N/A
iPhone 13 iOS Device IK983459435493 Friday 121.3

我曾尝试在 where 中使用 Numpy,但结果并不准确。任何建议或建议都会非常有帮助

【问题讨论】:

    标签: dataframe numpy csv numpy-slicing


    【解决方案1】:

    您可以使用 pandas 库来执行此操作:

    import pandas as pd
    
    # Read the files into two dataframes.
    df1 = pd.read_csv('file1.csv')
    df2 = pd.read_csv('file2.csv')
    
    # Merge the two dataframes, using _ID column as key
    df3 = pd.merge(df1, df2, on = 'PRODUCT-SERIAL')
    df3.set_index('PRODUCT-SERIAL', inplace = True)
    
    # Write it to a new CSV file
    df3.to_csv('file3.csv')
    

    其他参考链接:Merge two CSV files based on a data from the first column

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多