Python迭代.csv中的列

时间:2018-03-02 20:17:05

标签: pandas

如何迭代不同编号的.csv中的列,对数据执行计算?这就是我所拥有的,问题是我真的不知道从哪里开始,所以我没有尝试过多,谷歌搜索没有帮助。

import pandas as pd
file = r'C:\Users\cmcgrath\...'

loopdata = pd.read_csv(file)
loopdata = pd.DataFrame(loopdata)
loopdata.index = loopdata['index']

for col in loopdata where i :
    print(loopdata.iloc[1])

我为另一个项目编写了一些更复杂的代码,但它的效果并不比excel好得多,因为如果添加或删除列,我必须手动更新它。一旦我弄清楚如何使用更基本的东西,那么我可以将其扩展到更复杂的逻辑。

A)如何循环通过cols并创建一个新的数据框,其中每一行是单元格与其下方单元格之间的百分比变化?

B)如果数据帧具有不同的行数

,我该如何编写代码

谢谢,

查理

1 个答案:

答案 0 :(得分:0)

您可以使用.diff()功能。这给出了每行的下一行与行的值的百分比变化:

    df = pd.DataFrame({'col1':[1,5,9,14,15,16], 'col2':[2,22,33,54,66,77]})
    df.apply(lambda x: x.diff() / x)

      col1       col2
0      NaN        NaN
1   0.800000    0.909091
2   0.444444    0.333333
3   0.357143    0.388889
4   0.066667    0.181818
5   0.062500    0.142857