简洁示例

baseline = 'name1'
for col in df.columns.values:
    df[col + '_diff'] = (df[col] - df[baseline]) * 100
df.head(20)

具体说明

如果你有多个列(比如B, C, D),并且你想要计算这些列与列A相减后的差值,然后对每个结果列再计算差值,你可以按照以下步骤进行操作:

  1. 对于每一列(B, C, D),分别计算它们与列A的差值。
  2. 对于每一对新生成的差值列,使用diff()函数来计算其相邻元素之间的差值。

下面是一个示例代码,展示了如何实现这个过程:

import pandas as pd

# 创建一个简单的数据框
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': [15, 25, 35, 45, 55],
    'D': [20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)

# 计算 B - A, C - A, D - A 的差值,并将结果存储在新的列中
df['B_minus_A'] = df['B'] - df['A']
df['C_minus_A'] = df['C'] - df['A']
df['D_minus_A'] = df['D'] - df['A']

# 对每一个新生成的差值列计算 diff
df['B_minus_A_diff'] = df['B_minus_A'].diff()
df['C_minus_A_diff'] = df['C_minus_A'].diff()
df['D_minus_A_diff'] = df['D_minus_A'].diff()

# 打印结果
print(df)

执行上述代码后,输出将会是这样的:

    A   B   C   D  B_minus_A  C_minus_A  D_minus_A  B_minus_A_diff  C_minus_A_diff  D_minus_A_diff
0  1  10  15  20         9.0        14.0        19.0             NaN             NaN             NaN
1  2  20  25  30        18.0        23.0        28.0            9.0             9.0             9.0
2  3  30  35  40        27.0        32.0        37.0            9.0             9.0             9.0
3  4  40  45  50        36.0        41.0        46.0            9.0             9.0             9.0
4  5  50  55  60        45.0        50.0        55.0            9.0             9.0             9.0

在这个例子中,我们首先为每一列(B, C, D)创建了与A相减的结果列(B_minus_A, C_minus_A, D_minus_A),然后对每个结果列应用了diff()方法来计算相邻行之间的差值。这样你就得到了所有需要的差值信息。