Pandas如何基于列初始值按递推公式计算新列数值
Pandas 实现指定规则新列计算方案
首先确认你的数据表包含A、B两列数据,计算流程如下:
- 第一步:导入pandas库并读取本地数据表
import pandas as pd # 读取文件,csv格式用read_csv,Excel格式用read_excel,替换为你的本地文件路径 df = pd.read_excel("你的数据表文件路径.xlsx")
- 第二步:按规则计算
values新列
# 将A列向上偏移1行,使A(n+1)和B(n)行对齐,满足B2*A3的计算要求 df['A_shift'] = df['A'].shift(-1) # 批量计算B列与偏移后A列的乘积 df['values'] = df['B'] * df['A_shift'] # 设定第一行values为指定初始值1 df.loc[0, 'values'] = 1 # 可选:删除计算用的临时偏移列 df.drop('A_shift', axis=1, inplace=True)
- 补充说明:如果不需要保留最后一行的空值结果,可补充
df.dropna(inplace=True)完成清理。
内容的提问来源于stack exchange,提问作者Dess
相关产品推荐
相关产品推荐

