熊猫根据另一列的值移动列数据

希拉里

我有一个看起来像这样的数据框:

    epochseconds  midPrice  midPrice_1
0     1570780800  2954.625         NaN
1     1570780800  2954.625         NaN
2     1570780800  2954.625         NaN
3     1570780800  2954.625         NaN
4     1570780800  2954.625         NaN
5     1570780800  2954.625         NaN
6     1570780800  2954.875         NaN
7     1570780800  2954.875         NaN

    epochseconds  midPrice  midPrice_1
24    1570780801  2954.875         NaN
25    1570780801  2954.875         NaN
26    1570780801  2954.875         NaN
27    1570780801  2954.875         NaN
28    1570780801  2954.875         NaN
29    1570780801  2954.875         NaN
30    1570780801  2954.875         NaN
31    1570780801  2955.000         NaN

每个星期都有不同数量的观察值。我想预测下一个中间价为epochsecond + 1。我想应用pandas.DataFrame.shift,但是这没有考虑到我每秒都有不同的观察结果。有没有一种方法可以将周长的平均值:1570780801应用于周长的所有观测值:1570780800。我总共有868471秒,因此该代码应应用于所有观察结果。

有人知道怎么做这个吗?

Toukenize

欢迎使用Stack Overflow。

您可以使用groupby函数,然后计算shift相差-1,因为您希望将当前纪元的平均值应用于前一个纪元),从而计算同一纪元的所有观测值的平均值。

然后,对原始数据框进行左连接。

df_mean_shifted = df.groupby('epochseconds')['midPrice'].mean().shift(-1).rename('midPrice_1')

df.merge(df_mean_shifted, left_on='epochseconds', right_index=True)

这将为您提供所需的内容,但是您必须决定如何在最后一个epochsecond内填写条目,该条目将为null(因为shift)。

    epochseconds    midPrice    midPrice_1
0   1570780800      2954.625    2954.890625
1   1570780800      2954.625    2954.890625
2   1570780800      2954.625    2954.890625
3   1570780800      2954.625    2954.890625
4   1570780800      2954.625    2954.890625
5   1570780800      2954.625    2954.890625
6   1570780800      2954.875    2954.890625
7   1570780800      2954.875    2954.890625
24  1570780801      2954.875        
25  1570780801      2954.875        
26  1570780801      2954.875        
27  1570780801      2954.875        
28  1570780801      2954.875        
29  1570780801      2954.875        
30  1570780801      2954.875        
31  1570780801      2955.0      

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据熊猫中数据框的另一列的值添加一列

根据另一列中的相同值组合熊猫数据框列中的文本值

根据与熊猫数据框的另一列值的部分匹配获取多列值

根据熊猫数据框中另一列的最后一个值填充列

根据另一列熊猫的值添加新列

熊猫根据另一列中的值替换值

熊猫,根据另一列的值减去值

熊猫:根据另一列的值从列中提取值,并分成单独的数据框

根据另一列中的值将值添加到熊猫数据框的一列中

通过另一列(python)移动熊猫中的值

如何在熊猫中不相等的值上将数据从一列移动到另一列?

R:根据另一列中的值在数据框中移动一列的总和

根据另一列值向前填充熊猫

根据条件填充另一列(熊猫)的空值

根据条件在熊猫数据框中将一列的值提供给另一列

通过根据列值熊猫数据框将一列置于另一列之下,将多列合并为一列

根据特定月份的值过滤熊猫数据框,并以另一列为条件

根据另一列的值按分位数过滤熊猫数据框

熊猫:根据另一列的值打印一列的值

熊猫:移动一列直到另一列值= True

用另一列的条件填充一列并移动熊猫中的值

根据条件将值从一列移动到另一列

如何根据另一列的值移动一列?

熊猫根据选择为条件的另一列中的值创建一列

如何根据熊猫中另一列中的描述计算一列中的值?

如何根据熊猫中另一列的下限值对一列中的值求和?

根据熊猫中另一列上的值在数据框中创建一个新列

熊猫:返回数据框,其中一列的值大于另一列的值

根据另一列具有输入数据框的值替换一列的值