草庐IT

python - Pandas 滚动回归 : alternatives to looping

在已弃用的stats/ols模块中,我很好地利用了pandas的MovingOLS类(来源here)。不幸的是,它被pandas0.20彻底破坏了。在我看来,如何以有效方式运行滚动OLS回归的问题已被多次提出(例如here),但措辞有点宽泛,没有很好的答案。这是我的问题:如何最好地模仿pandas的MovingOLS的基本框架?这个类最吸引人的特性是能够将多个方法/属性视为单独的时间序列——即系数、r平方、t统计量等,而无需重新运行回归。例如,您可以创建类似model=pd.MovingOLS(y,x)的内容,然后调用.t_stat、.rmse、.std_err等。相反,在下面的示例中

python - Pandas 滚动回归 : alternatives to looping

在已弃用的stats/ols模块中,我很好地利用了pandas的MovingOLS类(来源here)。不幸的是,它被pandas0.20彻底破坏了。在我看来,如何以有效方式运行滚动OLS回归的问题已被多次提出(例如here),但措辞有点宽泛,没有很好的答案。这是我的问题:如何最好地模仿pandas的MovingOLS的基本框架?这个类最吸引人的特性是能够将多个方法/属性视为单独的时间序列——即系数、r平方、t统计量等,而无需重新运行回归。例如,您可以创建类似model=pd.MovingOLS(y,x)的内容,然后调用.t_stat、.rmse、.std_err等。相反,在下面的示例中

python - Numpy 和 Pandas 之间有性能差异吗?

假设我将使用Numpy数组,我编写了一堆代码。原来我得到的数据是通过Pandas加载的。我现在记得我在Pandas中加载了它,因为我在Numpy中加载它时遇到了一些问题。我认为数据太大了。因此我想知道,使用Numpy和Pandas时计算能力是否存在差异?如果Pandas更高效,那么我宁愿为Pandas重写我的所有代码,但如果没有更高的效率,那么我将只使用一个numpy数组... 最佳答案 可能存在显着的性能差异,乘法的数量级和索引几个随机值的多个数量级。我其实也想知道同样的事情,并遇到了这个有趣的比较:http://penandpa

python - Numpy 和 Pandas 之间有性能差异吗?

假设我将使用Numpy数组,我编写了一堆代码。原来我得到的数据是通过Pandas加载的。我现在记得我在Pandas中加载了它,因为我在Numpy中加载它时遇到了一些问题。我认为数据太大了。因此我想知道,使用Numpy和Pandas时计算能力是否存在差异?如果Pandas更高效,那么我宁愿为Pandas重写我的所有代码,但如果没有更高的效率,那么我将只使用一个numpy数组... 最佳答案 可能存在显着的性能差异,乘法的数量级和索引几个随机值的多个数量级。我其实也想知道同样的事情,并遇到了这个有趣的比较:http://penandpa

python - 将 pandas 时间序列从 object dtype 重新索引为 datetime dtype

我有一个不被识别为DatetimeIndex的时间序列,尽管它被具有有效日期的标准YYYY-MM-DD字符串索引。将它们强制为有效的DatetimeIndex似乎不够优雅,让我觉得我做错了什么。我读入(其他人的惰性格式)包含无效日期时间值的数据并删除了这些无效观察结果。In[1]:df=pd.read_csv('data.csv',index_col=0)In[2]:printdf['2008-02-27':'2008-03-02']Out[2]:count2008-02-27202008-02-2802008-02-29272008-02-3002008-02-3102008-03-

python - 将 pandas 时间序列从 object dtype 重新索引为 datetime dtype

我有一个不被识别为DatetimeIndex的时间序列,尽管它被具有有效日期的标准YYYY-MM-DD字符串索引。将它们强制为有效的DatetimeIndex似乎不够优雅,让我觉得我做错了什么。我读入(其他人的惰性格式)包含无效日期时间值的数据并删除了这些无效观察结果。In[1]:df=pd.read_csv('data.csv',index_col=0)In[2]:printdf['2008-02-27':'2008-03-02']Out[2]:count2008-02-27202008-02-2802008-02-29272008-02-3002008-02-3102008-03-

python - 在一组 Pandas 数据框中提取具有最大值的行

这里问了一个类似的问题:Python:GettingtheRowwhichhasthemaxvalueingroupsusinggroupby但是,即使该组中有不止一条具有最大值的记录,我也只需要每组一条记录。在下面的示例中,我需要一条“s2”记录。对我来说,哪一个都无所谓。>>>df=DataFrame({'Sp':['a','b','c','d','e','f'],'Mt':['s1','s1','s2','s2','s2','s3'],'Value':[1,2,3,4,5,6],'count':[3,2,5,10,10,6]})>>>dfMtSpValuecount0s1a131

python - 在一组 Pandas 数据框中提取具有最大值的行

这里问了一个类似的问题:Python:GettingtheRowwhichhasthemaxvalueingroupsusinggroupby但是,即使该组中有不止一条具有最大值的记录,我也只需要每组一条记录。在下面的示例中,我需要一条“s2”记录。对我来说,哪一个都无所谓。>>>df=DataFrame({'Sp':['a','b','c','d','e','f'],'Mt':['s1','s1','s2','s2','s2','s3'],'Value':[1,2,3,4,5,6],'count':[3,2,5,10,10,6]})>>>dfMtSpValuecount0s1a131

python - 对 Pandas 数据框中的两列求和

当我使用这种语法时,它会创建一个系列,而不是向我的新数据框sum添加一列。我的代码:sum=data['variance']=data.budget+data.actual我的数据框data目前包含除了budget-actual列之外的所有内容。如何创建variance列?clusterdatebudgetactualbudget-actual0a2014-01-0100:00:00110001000010001a2014-02-0100:00:00120010002a2014-03-0100:00:002001003b2014-04-0100:00:002003004b2014-05

python - 对 Pandas 数据框中的两列求和

当我使用这种语法时,它会创建一个系列,而不是向我的新数据框sum添加一列。我的代码:sum=data['variance']=data.budget+data.actual我的数据框data目前包含除了budget-actual列之外的所有内容。如何创建variance列?clusterdatebudgetactualbudget-actual0a2014-01-0100:00:00110001000010001a2014-02-0100:00:00120010002a2014-03-0100:00:002001003b2014-04-0100:00:002003004b2014-05