在Python中的apply函数中将numpy.ndarray转换为DataFrame?

2024-10-05 20:08:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python运行以下代码。然而,无论我尝试什么,我都会收到错误信息 ValueError:如果使用所有标量值,则必须传递索引

  • PyCharm打印一个类似于我想要实现的输出(参见输出)。但是,由于索引错误,它不会创建可调用项。 我正在传递一个数据帧(788,6)作为输入

有谁能解释一下,我是如何从acorr_ljungbox测试的结果中结合apply函数来创建一个很棒的数据帧的?(它返回一个包含4个numpy.ndarray元素的元组)

输入:

from statsmodels.stats.diagnostic import acorr_ljungbox
import pandas as pd
p = print
data={'A':[1,2,3,4,5],'B':[1,2,3,4,5],'C':[5,4,3,2,1]}
df=pd.DataFrame(data)
def box_Lj(series):
    results=acorr_ljungbox(series, range(1,4), boxpierce=True, return_df=True)

    p(results)
    return results
l=df.apply(box_Lj)

输出:

 lb_stat  lb_pvalue  bp_stat  bp_pvalue
1  1.400000   0.236724     0.80   0.371093
2  1.516667   0.468447     0.85   0.653770
3  4.316667   0.229238     1.65   0.648107
    lb_stat  lb_pvalue  bp_stat  bp_pvalue
1  1.400000   0.236724     0.80   0.371093
2  1.516667   0.468447     0.85   0.653770
3  4.316667   0.229238     1.65   0.648107
    lb_stat  lb_pvalue  bp_stat  bp_pvalue
...

Tags: 数据importboxdfdataresultsstatpd