Python:使用特定行的计算值向数据框添加列

时间:2018-06-06 14:08:14

标签: python pandas

您好我是python的新手,并希望开始工作并远离excel。我的问题有两个:

第一部分是我有一个看起来像这样的csv文件

   row 1: 52.78 52.52   53.2  51.98  53.22  50.85   51.44   52.38   52.21   52.09   51.5    51.92
   row2 : 6.89  5.47    5.8    5.89   6.56   5.69   5.48     4.9     6.39    5.12   3.61     4.48
   row3:  156   126    185     363     197    261    417     298      292    150    102     303
   row4:  0     0      0       0       0       0      0       0        0      0      0       0     
   row5:  0     3      5       8       0       0      10       0        12      0      13       0
    ...
    ...
    ...
  row195: 0     5      5      7       1       2      11       0        12      0      13       0

它继续这样直到第195行

我想创建从第4行开始的新列,并使用以下公式:

第一栏应该是

    [(row3,column1)*(row4,column1)]+[(row3,column1)*(row101,column1)]

第二栏应为

    [(row3,column2)*(row4,column2)]+[(row3,column2)*(row101,column2)]

它继续像这样直到所有12列的第100行

第一列的第100行中的公式应为

   [(row3,column1)*(row98,column1)]+[(row3,column1)*(row195,column1)]

我如何在熊猫中做到这一点?

我的问题的第二部分是我有365个不同的文件,数据类似(每个文件的值都有变化,但格式相同),我想在所有文件中应用相同的公式。

感谢我能得到的任何帮助

由于

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话,您正尝试使用像Excel这样的pandas。

如果您的数据集/数据框名为df,并且您想要追加新列。你可以这样:

ifelse

...和其他2列相同。请注意,python从0开始计数。因此,您的第1行实际上是第0行,第1列是第0列等。希望这会有所帮助。