对数据集的列进行算术运算,使用行索引作为pandas中的变量



所以我没有在日常生活中使用python,所以这对我来说有点新,但我有大量的csv文件要编辑,我想一个简单的脚本可以节省我很多时间。

假设我有一张表输入数据

我想创建一个新表,对每个集合y[I](表中的一列)执行以下操作z[i] = (y[i]-y[0])/(y[5]-y[0]) - i

到目前为止,我有一些问题,包括索引I(行索引)在算术运算

到目前为止我所做的:'

import pandas as pd
#import data file
csv_in = pd.read_csv('data.csv')
#creating the denominator
lsb = csv_in.iloc[5] - csv_in.iloc[0]
#here i'm missing -i in the end
inl = (csv_in.iloc[0] + csv_in)/lsb - csv_in.index.to_series()
print(inl)

所以我想知道是否有一种方法可以做到这一点与这样的一行?的csv_temp.index.to_series()没有工作,我想我弄乱了数组的维度,我试图操作。我需要做一些循环吗?

的结果应该是输出数据

谢谢!

所以现在我用循环来做我不认为这是最有效的方式。但是在循环中调用每一列并对一系列索引执行操作就能达到目的

for i in range(csv_in.shape[1]):
csv_in[csv_in.columns[i]] = csv_in[csv_in.columns[i]] - csv_in.index.to_series()

仍然想知道是否有更聪明的方法来做到这一点

最新更新