繁体   English   中英

如何从循环中的第一列中减去第一列之后的列?

[英]How to subtract the columns after the first column, from the first column in a loop?

看起来很简单,但我似乎无法在 Python 3 中找到解决此问题的有效方法:我的 dataframe 中是否有一个循环可以从第一列中减去第一列之后的每一列,这样我就可以将新减去的列添加到新的 dataframe?

然后我想继续从第二列中减去第二列之后的每一列,并在我 append 的 18 列中遵循相同的逻辑,或者将新减去的列添加到新的 dataframe

这是我用于 dataframe (spotrates) 的第一列和第二列的前 4 行代码,但我有 18 列,我知道创建循环会更容易,我将添加到我的末尾现有的 dataframe,当我希望将减去的列插入新列时。

spotrates['3m-on'] = spotrates.iloc[:,1] - spotrates.iloc[:,0]
spotrates['6m-on'] = spotrates.iloc[:,2] - spotrates.iloc[:,0]
spotrates['9m-on'] = spotrates.iloc[:,3] - spotrates.iloc[:,0]
spotrates['1y-on'] = spotrates.iloc[:,4] - spotrates.iloc[:,0]

spotrates['6m-3m'] = spotrates.iloc[:,2] - spotrates.iloc[:,1]
spotrates['9m-3m'] = spotrates.iloc[:,3] - spotrates.iloc[:,1]
spotrates['1y-3m'] = spotrates.iloc[:,4] - spotrates.iloc[:,1]
spotrates['2y-3m'] = spotrates.iloc[:,5] - spotrates.iloc[:,1]

这是我开始低效处理的代码:

def swaps(data):
    i<len(data.columns)
    col1 = data.iloc[:,i]
    col2 = data.iloc[:,i+1]
    for col1, col2 in data.columns:
        return col2 - col1
        
        

我认为您可以使用 where 语句中的 select (如果您有一行 id 可以获取您的项目)。 确保 1 是您的第一个项目的 ID。

DELETE FROM mytable WHERE ID!=1

这将删除除第一行之外的所有内容!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM