我试图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) 我正在尝试以最有效的方式求解带状稀疏矩阵的逆,以便我可以将其合并到我的实时系统中。我正在生成表示卷积运算的稀疏带状矩阵。目前,我正在使用图书馆spsolve的内容scipy.sparse.linalg。solve_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)