python-3.x 对数据集的列进行的算术运算,使用行的索引作为Pandas中的变量

bzzcjhmw  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(99)

所以我没有在我的日常基础上使用python,所以这对我来说是一种新的,但我有大量的csv文件要编辑,我想一个简单的脚本可以节省我很多时间。
假设我有一个表input data
我想创建一个新表,对每个集合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()不起作用,我假设我把我试图操作的数组的维数弄乱了。我必须做某种循环吗?
结果应该是output data
谢谢你!

lymgl2op

lymgl2op1#

所以现在我用一个循环来完成它,我不认为这是最有效的方法,但是在一个循环中调用每一列并对一系列索引执行操作就可以了

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()

我仍然想知道是否有更聪明的方法来做这件事

相关问题