首页 > 解决方案 > 比较两个文件的第二列并计算百分比增加或减少

问题描述

我想比较 file1(逗号后的数值)和 file2(逗号后的数值)并显示百分比增加或减少。

file1.csv
item1,100   
item2,150
item3,250
item4,550
item5,400
item6,125

file2.csv
item1,160
item2,180
item3,190
item4,1100
item5,100
item6,510

Result.csv
item1 +60%
item2 +20%
item3 -24%
item4 +100%
item5 -75%
item6 +308%

标签: pythonlist

解决方案


你会想为这个研究熊猫。

像这样的东西应该工作。

  1. 读取两个数据集
  2. 将它们合并到 id 列
  3. 计算差异
  4. 删除我们不再需要的列
  5. 将结果写入 CSV
import pandas as pd

data1 = pd.read_csv('file1.csv', header=None, names=['id', 'val_1'])
data2 = pd.read_csv('file2.csv', header=None, names=['id', 'val_2'])

data1 \
    .merge(data2, on = 'id') \
    .assign(result = lambda data: data.val_2/data.val_1 - 1) \
    .filter(['id', 'result']) \
    .to_csv('Result.csv', header=None, index = False)

推荐阅读