我需要根据列名计算差异,并将部分列名用作计算的一部分。

python - 根据列名称进行计算,并将名称作为计算的一部分-LMLPHP

因此,当前,促销值的列为空。我需要为第一行计算get2for30为(X-30),为第二列计算GET2FOR31(x-31),并在相应的“单元格”中显示值。
我想知道是否有使用熊猫的方法。

更新-我遇到的另一个问题是Get2forX的列上升到90,因此最后一列是get2for90。我想知道是否有某种函数可以应用于所有这些类型的列。 (不编写90道代码)

最佳答案

这样简单的事情会起作用吗?

df['GET2FOR30'] = df['Prices'] - 30
df['GET2FOR31'] = df['Prices'] - 31
df['GET2FOR32'] = df['Prices'] - 32


对于通用N列:

for col in [i for i in df.columns if 'GET2FOR' in i]:
    num = col[col.rindex('FOR')+3:]
    df[col] = df['Prices'] - int(num)

关于python - 根据列名称进行计算,并将名称作为计算的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57170273/

10-12 16:35
查看更多