如何复制DataFrame并通过插值处理实现数据增强
实现方案
以下是可直接运行的代码实现,完全匹配你描述的计算逻辑:
import pandas as pd # 构造你的原始DataFrame df = pd.DataFrame({ 'Value1': [1.0, 1.0, 1.0, 0.8, 0.5, 0.1], 'Value2': [0.0, 0.2, 0.4, 0.6, 0.4, 0.2], 'Value3': [0.0, 0.2, 0.4, 0.6, 0.8, 1.0] }) # 核心计算逻辑 new_df = (df + df.shift(-1)) / 2 # 保留最后一行原始数值 new_df.iloc[-1] = df.iloc[-1] # 打印验证结果 print(new_df)
运行后输出的结果和你给出的目标效果完全一致:
Value1 Value2 Value3 0 1.00 0.1 0.1 1 1.00 0.3 0.3 2 0.90 0.5 0.5 3 0.65 0.5 0.7 4 0.30 0.3 0.9 5 0.10 0.2 1.0
该实现通过shift(-1)将DataFrame整体向上偏移1位,直接批量计算相邻行的均值,最后覆盖最后一行的数值即可,不需要循环遍历每一行,性能表现更好。
内容的提问来源于stack exchange,提问作者Timkowik23
相关产品推荐
相关产品推荐

