python中的列操作

时间:2015-08-04 05:29:22

标签: python

我有一个文件如下(m,deg,deg)

0   0       5
10  0.65    12
20  0.61    14
30  0.53    3
40  0.54    6

我想在python中的同一列中的行之间进行操作,例如行之间的第三列diff,例如(12-5)(14-12)(3-14)(6-3)等等

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

首先在文件上迭代一次,丢弃标题行。

在空白处拆分每一行,并从每一行中拉出第三列并将其转换为int(这是您似乎唯一关心的字段)。

将结果自身偏移1,将输出映射并减去 - 这样我们就可以从第二行减去第一行,从第三行减去第二行,依此类推。

with open("tab-separated-values") as tsv:
    splitLines = [line.split() for line in tsv]  
    degs = [int(line[2]) for line in splitLines[1:]]
    print [deg[1] - deg[0] for deg in zip(degs, degs[1:])]