Python:使用特定行的计算值向dataframe添加列

2024-06-30 16:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我对python还很陌生,想开始用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个不同的文件具有相似的数据(每个文件的值都会更改,但格式是相同的),我希望在所有文件中应用相同的公式

谢谢你的帮助

谢谢


Tags: 文件csvexcel公式rowrow2row3column1
1条回答
网友
1楼 · 发布于 2024-06-30 16:23:31

如果我理解正确的话,你是在尝试像Excel那样使用熊猫

如果您的数据集/数据帧被称为df,并且您希望附加一个新列。你可以这样做:

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

。。。其他两列也一样。请注意,python从0开始计数。因此,行1实际上是行0,列1是列0等等。希望这有帮助

相关问题 更多 >