Pandas 如何迭代打印到正确的子批次轴
假设我有两个数据帧:Pandas 如何迭代打印到正确的子批次轴,pandas,matplotlib,seaborn,axes,Pandas,Matplotlib,Seaborn,Axes,假设我有两个数据帧: a = pd.DataFrame({"A": [2,3,4,5], "B": [4,8,9,10], "C" :[63,21,23,4], "D": [56,32,12,2] }) b = pd.DataFrame({"A": [
a = pd.DataFrame({"A": [2,3,4,5],
"B": [4,8,9,10],
"C" :[63,21,23,4],
"D": [56,32,12,2]
})
b = pd.DataFrame({"A": [12,13,14,15],
"B": [41,81,91,10],
"C": [3,2,5,6],
"D": [4,2,3,4]
})
我希望能够用相同的名称在每个数据帧上的变量之间绘制散点图。我想出了以下代码:
fig, ax = plt.subplots((round(len(b)/2)),2,figsize=(10,10))
for i, col in enumerate(b.columns):
sns.regplot(x=a[col], y=b[col], ax=ax[i,0])
plt.title(col)
sns.regplot(x=a[col], y=b[col], ax = ax[i,1])
plt.title(col)
plt.tight_layout()
然而,这产生了以下数字:
我想要的是:
我知道这很简单,但我就是想不出第二个ax的循环方式[I,1]。
非常感谢
是一个ax
数组,因此它更易于使用,从而使数组变平并更易于索引numpy
在OP中是一个ax
数组,它(2,2)
扁平化为.ravel
(4,2)
- 有关子地块轴阵列的更多详细信息,请参见以下SO问题:
fig,ax=plt.子图((圆形(len(b)/2)),2,figsize=(10,10))
v=ax.ravel()
对于i,枚举中的列(b列):
sns.regplot(x=a[col],y=b[col],ax=v[i])
v[i].集xlabel(f'{col}{u a')
v[i].集合标签(f'{col}}\u b')
v[i]。设置标题(列)
plt.紧_布局()