如何为DataFrame添加计算B列百分比差值的新列C?
计算DataFrame中B列的百分比差值并新增C列
你可以直接使用pandas的pct_change()方法实现需求,该方法会自动计算当前行与前一行的百分比变化,完全匹配你需要的逻辑:
代码示例:
import pandas as pd # 构造示例DataFrame data = { 'A': ['2010-01-01', '2011-01-03', '2012-01-02'], 'B': [2, 4, 2] } df = pd.DataFrame(data) # 新增C列,计算B列的百分比差值 df['C'] = df['B'].pct_change().round(2) print(df)
输出结果:
A B C 0 2010-01-01 2 NaN 1 2011-01-03 4 1.00 2 2012-01-02 2 -0.50
说明:
pct_change()的计算逻辑为:(当前值 - 前一行值) / 前一行值,和示例中的计算规则完全一致round(2)用于保留两位小数,和示例格式匹配- 第一行的C值为
NaN,因为没有前一行数据可对比
内容的提问来源于stack exchange,提问作者David95
相关产品推荐
相关产品推荐

