使用 pandas 的朴素预测
Naive prediction using pandas
假设,我有一个数据集:
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_t1
和m_t2
的差值%
喜欢
diff
100
0
-50
我想在 m_t2
上应用此差异以获得 m_t3_predicted
m_t3_predicted
168
12
25
我该怎么做?
P.S。算法有名称吗?
试试这个:
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"]
Concat 数据帧:
df_result=pd.concat([df,df_diff],axis=1)
然后计算:
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
假设,我有一个数据集:
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_t1
和m_t2
的差值%
喜欢
diff
100
0
-50
我想在 m_t2
上应用此差异以获得 m_t3_predicted
m_t3_predicted
168
12
25
我该怎么做?
P.S。算法有名称吗?
试试这个:
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"]
Concat 数据帧:
df_result=pd.concat([df,df_diff],axis=1)
然后计算:
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