我需要根据列名计算差异,并将部分列名用作计算的一部分。
因此,当前,促销值的列为空。我需要为第一行计算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/