我是Python新手。我想在具有相同id的csv文件的两行之间做区别。此csv数据集是从具有超过3百万行的sql表导出构建的。
这是我的时间表数据集的示例:
DATE - Product ID - PRICE
26/08 - 1 - 4
26/08 - 2 - 3
27/08 - 1 - 5
27/08 - 2 - 3
例如,我想计算26/08的产品价格与第二天(27/08)的同一产品的价格之间的差异来估算价格' s随时间变化。我想知道在Python中对这些数据进行操作和计算的最佳方法是进行我的计算,无论是使用Python的csv模块还是使用代码中的SQL查询。我也听说过熊猫图书馆......谢谢你的帮助!
答案 0 :(得分:0)
尝试按产品ID构建字典并在加载后分析每个ID
dd = {}
with open('prod.csv', 'rb') as csvf:
csvr = csv.reader(csvf, delimiter='-')
for row in csvr:
if if len(row) == 0 or row[0].startswith('DATE'):
continue
dd.setdefault(int(row[1]), []).append((row[0].strip(), int(row[2])))
dd
{1: [('26/08', 4), ('27/08', 5)],
2: [('26/08', 3), ('27/08', 3)]}
这样可以很容易地进行比较