首页 文章

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

提问于
浏览
0

嗨,我对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

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

    如果您的数据集/数据框名为df,并且您想要追加新列 . 你会喜欢这样的:

    df['first_col']=float(df.iloc[2,0])*float(df.iloc[3,0])+float(df.iloc[2,0])*float(df.ilo[100,0])

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

相关问题