使用pandas进行天真预测

3
假设我有一个数据集:
ix    m_t1   m_t2
1     42     84
2     12     12
3     100    50

那么,我们可以使用:
df = df[['m_t1', 'm_t2']].pct_change(axis=1).mul(100)[1]

计算m_t1m_t2之间的百分比差异

例如

diff
100
0
-50

我希望能将这个差异应用于 m_t2,以得出 m_t3_predicted
m_t3_predicted
168
12
25

我该怎么做呢?

P.S. 这个算法有没有名称?


1
请用您想要实现的结果的示例澄清您的问题。 - sentence
@sentence 足够清晰吗? - kiyac
1
现在,是的。 - sentence
1个回答

2

试试这个:

df_diff=df[['m_t1', 'm_t2']].pct_change(axis=1).mul(100).drop(columns=["m_t1"])

df_diff

    diff
0   100.0
1   0.0
2   -50.0

将df_diff中的列重命名:

df_diff.columns=["diff"]

合并数据框:

df_result=pd.concat([df,df_diff],axis=1)

Then calculate:

df_result["m_t3_predicted"]=df_result["m_t2"]+df_result["diff"]/100*df_result["m_t2"]

结果:

    ix  m_t1    m_t2    diff    m_t3_predicted
0   1   42      84      100.0   168.0
1   2   12      12      0.0     12.0
2   3   100     50     -50.0    25.0

方法的名称是什么? - kiyac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接