小编Max*_*ron的帖子

使用 seaborn 对数据进行分组后的条形图

我试图seaborn.barplot在分组后用于绘制数据。我的第一种方法是使用以下方法生成一个新的数据框:

g_data = g_frame.groupby(["STG","GRP"])["HRE"].mean()
g_data
Run Code Online (Sandbox Code Playgroud)

这是输出:

STG   GRP    
S1    Control    0.561871
      OSA        0.589858
S2    Control    0.595950
      OSA        0.629775
S3    Control    0.629906
      OSA        0.674118
S4    Control    0.578875
      OSA        0.568370
S5    Control    0.557712
      OSA        0.569524
Name: HRE, dtype: float64
Run Code Online (Sandbox Code Playgroud)

接下来,我定义了一个名为 plot 的函数plot_v1(data),如下所示:

def plot_v2(data):

    # Create the bar plot
    ax = sns.barplot(
        x="STG", y="HRE", hue="GRP",
        order=["S1", "S2", "S3", "S4", "S5"],
        hue_order=["Control", "OSA"],
        data=data)

    # Return the figure object and axis
    return plt.gcf(), ax

plot_v2(g_data);
Run Code Online (Sandbox Code Playgroud)

这引发了一个错误,说:

149                 if isinstance(input, …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-3.x pandas seaborn pandas-groupby

3
推荐指数
1
解决办法
7069
查看次数

使用 SciPy 对带状稀疏矩阵进行矩阵求逆

我正在尝试以最有效的方式求解带状稀疏矩阵的逆,以便我可以将其合并到我的实时系统中。我正在生成表示卷积运算的稀疏带状矩阵。目前,我正在使用图书馆spsolve的内容scipy.sparse.linalgsolve_banded我发现使用图书馆有更好的方法scipy.linalg。然而,solve_banded需要(l,u)哪个是非零下对角线和上对角线的数量以及ab哪个(l + u + 1, M)数组像带状矩阵。我不确定如何转换我的代码以便我可以使用solve_banded. 非常感谢这方面的任何帮助。

import numpy as np
from scipy import linalg
import math
import time

from scipy.sparse import spdiags
from scipy.sparse.linalg import spsolve


def ABC(deg, fc, N):
    r"""Generate sparse-banded matrices
    """

    omc = 2*math.pi*fc
    t = ((1-math.cos(omc))/(1+math.cos(omc)))**deg

    p = 1
    for k in np.arange(deg):
        p = np.convolve(p,np.array([-1,1]),'full')
    P = spdiags(np.kron(p,np.ones((N,1))).T, np.arange(deg+1), N-deg, N)
    B = P.T.dot(P)

    q = …
Run Code Online (Sandbox Code Playgroud)

python matrix scipy sparse-matrix matrix-inverse

3
推荐指数
1
解决办法
1503
查看次数