我想直观地探索两个变量之间的关系.在如下的密集散点图中,这种关系的功能形式是不可见的:

如何在Python中的散点图中添加lowess smooth?
或者您有任何其他建议来直观地探索非线性关系吗?
我尝试了以下但是它没有正常工作(借鉴Michiel de Hoon的一个例子):
import numpy as np
from statsmodels.nonparametric.smoothers_lowess import lowess
x = np.arange(0,10,0.01)
ytrue = np.exp(-x/5.0) + 2*np.sin(x/3.0)
# add random errors with a normal distribution
y = ytrue + np.random.normal(size=len(x))
plt.scatter(x,y,color='cyan')
# calculate a smooth curve through the scatter plot
ys = lowess(x, y)
_ = plt.plot(x,ys,'red',linewidth=1)
# draw the true values for comparison
plt.plot(x,ytrue,'green',linewidth=3)
Run Code Online (Sandbox Code Playgroud)

低沉的平滑(红线)很奇怪.
编辑:
以下矩阵还包括lowess平滑器(取自CV上的此问题):

有人有这样的图表的代码吗?
我想删除两个字符串之间的所有文本,除了以某些字符串开头的行.使用下面的例子,我想摆脱串之间的文本BEGIN,并END认为是不以开头的行BREAK1或BREAK2:
keep keep keep
BEGIN
remove remove remove
remove remove remove
BREAK1 keep keep keep
remove remove remove
BREAK2 keep keep keep
remove remove remove
END
keep keep keep
Run Code Online (Sandbox Code Playgroud)
有人知道我怎么能用正则表达式做到这一点?
我有一个包含两列包含字符串的DataFrame,例如:
COL1 --- COL2
恩斯特---吉姆·
彼得·恩斯特---
比尔---为NaN
NaN的---道格·
吉姆---杰克
现在我想在第一列和第二列中创建一个包含唯一字符串列表的新DataFrame,其中包含2个原始列中每个字符串的出现次数,如:
海峡 --- OCCURENCES
恩斯特- 2
彼得·--- 1个
比尔--- 1
吉姆- 2
杰克--- 1
道格- 1
我该如何以最有效的方式做到这一点?谢谢!
对于具有类似于下一个的低值平滑器的散点图矩阵,Python代码是什么?

我不确定图的原始来源.我在CrossValidated的这篇文章中看到了它.椭圆根据原始帖子定义协方差.我不确定数字是什么意思.