简洁示例
baseline = 'name1'
for col in df.columns.values:
df[col + '_diff'] = (df[col] - df[baseline]) * 100
df.head(20)
具体说明
如果你有多个列(比如B
, C
, D
),并且你想要计算这些列与列A
相减后的差值,然后对每个结果列再计算差值,你可以按照以下步骤进行操作:
- 对于每一列(
B
,C
,D
),分别计算它们与列A
的差值。 - 对于每一对新生成的差值列,使用
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()
方法来计算相邻行之间的差值。这样你就得到了所有需要的差值信息。