python - 如何用 python str.replace 编写一个灵活的函数?
问题描述
我正在使用 statsmodel 包运行分段线性模型。也就是说,我正在尝试,但未能操纵系数标题,以便我可以加入另一个表。
例如,以下是基于变量中的两个节点的两个系数vehicle_age_model
。
bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[0]
bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[1]
bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[2]
我想要完成的是一个拉动vehicle_age_model
(或任何变量)并将其放在一列中的函数。然后根据方括号内的最终数字,拉出另一列中的结。
在上面的示例中,我想要的是具有以下内容的数据框:
variable Lower Upper
vehicle_age_model 0 10
vehilce_age_Model 10 25
vehicle_age_Model 25 np.inf
较低的将始终为零。最后的鞋面,无论多少节,永远是无穷大。
在构建函数之前,我试图弄清楚如何从屏幕中提取变量。
数据框名称是 coeffs。
coeffs['index'].str.replace("bs\(np.clip\(\vehicle_age_model, 0, np.inf\), degree=1, knots=[10, 25]\)[0]", "vehicle_age_model")
尝试上述的不同变体,这并没有改变任何事情。我不确定我应该去哪个方向。
原始数据框
import pandas as pd
dict = {'index': ['bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[0]'
, 'bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[1]'
, 'bs(np.clip(vehicle_age_model, 0, np.inf), degree=1, knots=[10, 25])[2]']
, 'coeff': [.5876, -.1662, -.6380]}
df1 = pd.DataFrame.from_dict(dict)
解决方案
推荐阅读
- c - 获取错误:使用 v4l2 驱动程序捕获视频时设备或资源繁忙
- android - 如何在一个应用程序中同时使用 setDefaultNightMode 和 getConfiguration().uiMode?
- .net - Monorepo 中的 Nuget 包版本控制
- php - PHPUnit测试具有依赖关系的类的特定方法
- algorithm - 理解困难,二分图
- android - 在android中集成instagram基本显示api
- mysql - 我是 SQL 新手,我想有没有办法简化这个查询?
- django - NoReverseMatch at /1/stationary-item-1/ 为“addreview”反向,未找到任何参数
- javascript - 如何替换所有出现的数组?
- c - C中char数组的奇怪输出行为