小编Nis*_*sfa的帖子

使用正则表达式 Python 根据模式提取部分字符串

我有一个遵循特定格式的文件,看起来像这样:

test_0800_20180102_filepath.csv
anotherone_0800_20180101_hello.csv
Run Code Online (Sandbox Code Playgroud)

中间的数字代表时间戳,所以我想提取该信息。我知道有一个特定的模式永远是_time_date_,所以基本上我想要位于第一个和第三个下划线之间的字符串部分。我找到了一些示例和类似的问题,但我是 Python 新手,无法适应它们。

这是我迄今为止实施的:

datetime = re.search(r"\d+_(\d+)_", "test_0800_20180102_filepath.csv")
Run Code Online (Sandbox Code Playgroud)

但我得到的结果只是日期部分:

20180102
Run Code Online (Sandbox Code Playgroud)

但我真正需要的是:

0800_20180101
Run Code Online (Sandbox Code Playgroud)

python regex string python-3.x

6
推荐指数
1
解决办法
8201
查看次数

使用 scipy.optimize.curve_fit 时如何将参数传递给拟合函数

我正在尝试使用 scipy.optimize.curve_fit 拟合一些数据。我的拟合函数是:

def fitfun(x, a):
    return np.exp(a*(x - b))
Run Code Online (Sandbox Code Playgroud)

我想要的是定义a为拟合参数,以及b根据我想要拟合的数据而变化的参数。这意味着对于一组数据,我希望拟合函数:np.exp(a*(x - 10))而对于另一组数据,我希望拟合函数np.exp(a*(x - 20))。原则上,我希望参数 b 作为任何值传入。

我目前调用 curve_fit 的方式是:

coeffs, coeffs_cov = curve_fit(fitfun, xdata, ydata)
Run Code Online (Sandbox Code Playgroud)

但我想要的是这样的:

b=10     
coeffs, coeffs_cov = curve_fit(fitfun(b), xdata, ydata)
b=20     
coeffs2, coeffs_cov2 = curve_fit(fitfun(b), xdata, ydata)
Run Code Online (Sandbox Code Playgroud)

这样我就可以得到两种情况下的系数 a(b=10 和 b=20)。

我是 python 的新手,所以我无法让它工作,即使我试图阅读文档。任何帮助将不胜感激。

curve-fitting scipy python-3.x

2
推荐指数
2
解决办法
5210
查看次数

标签 统计

python-3.x ×2

curve-fitting ×1

python ×1

regex ×1

scipy ×1

string ×1