我编写了几个python函数来对数据集中的连续变量进行幂变换。第一个函数基本上查找每个列的数据类型,并返回数据类型的dict以及相应的列名称作为值。在

第二个函数现在接受数据类型和列名的dict,并获取一个输入数据集,并使用代码中编写的幂变换函数对每个连续特性(“float64”)进行幂转换。在

它在python中运行得很好。下面是代码:

首先将数据集传递给featuresDtypes函数,以获取dict形式的变量的数据类型# Then pass the same dataset to varTransformation function by also passing the returned data type dict.

def featuresDtypes(model_data1):

"""This function takes a dataframe and gives a dict of column

data types

"""

g = model_data1.columns.to_series().groupby(model_data1.dtypes).groups

var_types={k.name: v for k, v in g.items()}

return var_types

def varTransformation(model_data1,var_types):

"""This function takes in a list of continuous feature names

and transforms it using Box-Cox transformation

list--> df

(list of feature names)---> returns a transformed pandas dataframe

"""

var_transform_mapping={}

model_data_transformed=copy.deepcopy(model_data1)

continuous_var=var_types['float64']

for x in continuous_var:

# Anchoring the data at 1 as Box-Cox takes more than 0 as the value

model_data_transformed[x]=(model_data_transformed[x]-(model_data_transformed[x].min()-1))

lmbda,ppc=sp.stats.boxcox_normplot(model_data_transformed[x], -20, 20, plot=ax)

lmax_pearsonr = sp.stats.boxcox_normmax(model_data_transformed[x])

lamda_ppc=lmbda[ppc.argsort()[::-1][0]]

#Rounding the lambda value

if 0.3<=np.abs(lamda_ppc)-int(np.abs(lamda_ppc))<=0.59 :

lamda_ppc=cmp(lamda_ppc,0)*(int(np.abs(lamda_ppc))+0.5)

else:

lamda_ppc=cmp(lamda_ppc,0)*(np.around(np.abs(lamda_ppc)))

# Getting the box - cox tranformation using the lambda value

model_data_transformed[x]= sp.stats.boxcox(model_data_transformed[x],lamda_ppc)

var_transform_mapping[x]=lamda_ppc

return model_data_transformed,var_transform_mapping

现在,我想在用于Postgresql的PL/Python中实现这一点。在

基本上我要找的东西如下:

^{pr2}$

在这个PL/Python中,我们可以使用informationschema代码来获取postgres表中每个列的数据类型。因此,我们不需要上面编写的第一个python函数,该函数是以python格式编写的。Pl/Python代码的其余部分将类似于这样一种情况,即查看一个列是否属于连续类型,然后使用Pl/Python对其进行转换。在

最后返回的表需要一个经过修改/转换的变量表,以及用正确的转换值转换的列名的dict或映射,如python函数所示。在

有什么帮助吗?在

python函数转换_将Python函数转换为PL/Python函数相关推荐

  1. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  2. python max函数时间复杂度_程序员的思考:用函数还是用复杂表达式

    程序员的思考:用函数还是用复杂表达式 Perl语言的原作者Larry Wall曾经说过,伟大的程序员都有三个优点:懒惰.暴躁和自负.乍一看这三个词语没有一个是褒义词,但在程序员的世界里,这三个词有不同 ...

  3. python网页版本_利用jupyter网页版本进行python函数查询方式

    我就废话不多说了,还是直接看代码吧! import numpy world_alchol=numpy.genfromtxt("world_alcohol.txt",delimter ...

  4. python函数助手_转jmeter(十五)函数助手

    由于时间和版本问题,其中有些内容和排版我做了修改和重新整理,使其更符合最新的jmeter版本. 一.使用jmeter函数助手 启动jmeter后,可以在JMeter的选项菜单中找到函数助手对话框(快捷 ...

  5. python整数转换字符串_Python | 将字符串转换为整数列表

    python整数转换字符串 Given a string with digits and we have to convert the string to its equivalent list of ...

  6. python nonetype转换str_如何将Nonetype转换为int或string?

    在其中一个评论中,你说: 不知何故,我得到一个Nonetype值,它应该是一个int,但它现在是一个Nonetype对象 如果是你的代码,那么当你期望一个数字并且阻止它发生的时候,弄清楚你是如何得到N ...

  7. python 图像格式转换_如何用六行Python构建图像类型转换器

    python 图像格式转换 by AMR 通过AMR 如何用六行Python构建图像类型转换器 (How to build an image type convertor in six lines o ...

  8. python 面试问题_值得阅读的30个Python面试问题

    python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...

  9. python老师武_跟着廖雪峰老师学python (5)

    若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站  python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...

最新文章

  1. Go 1.5正式发布:实现自举、引入并发垃圾收集器
  2. Executor 执行器接口笔记
  3. eos和以太坊有什么关系_比特币、以太坊、柚子三者的关系
  4. .Net 5性能改进
  5. 11gR2 RAC时间同异常导致节点down掉问题处理
  6. android 控件覆盖关系,安卓子控件抢占父控件点击事件或者焦点问题
  7. js数组查找最接近_如何从javascript中的对象数组中获取最接近的先前id
  8. 你真的会用 VS Code 的 Ctrl、Shift和Alt吗?高效易用的快捷键:多光标、跳转引用等轻松搞定
  9. c语言 正整数 几位 逆序,c语言经典例题:正整数求位数and求顺、逆序位数
  10. 发现有的时候,EBS会报连接数不足的问题
  11. 玩转Dokuwiki
  12. Surface Pro 4 无限重启的解决方法
  13. 真的,你不了解石家庄。
  14. 毕业两年,工作三年Java程序员的一点点体会与建议
  15. Google 后 Hadoop 时代的新 “三驾马车” -- Caffeine(搜索)、Pregel(图计算)、Dremel(查询)
  16. 代码审计之百家cms
  17. 计算机专业mx330够用吗,这款新的HP笔记本电脑配备了MX330图形卡,那么性能如何?...
  18. 一个风靡全球的游戏(需要大家来参加)!!!
  19. 你偷看的小簧片,其实全都被监视了…
  20. java 帕斯卡_java编程 帕斯卡三角形 立刻求高手!! 给满分

热门文章

  1. xml文件中删除根节点
  2. OCP 11G 051题库解析笔记-总
  3. 【python】详解zipfile模块读取处理压缩文件实例
  4. oracle 配置 ACL 使用数据库发送WebServic请求时需要
  5. MySQL划重点-查询-聚合
  6. 关于程序、进程和线程
  7. iOS开发日记24-详解RunLoop
  8. Android点击效果
  9. I/O的一些简单操作
  10. css hack的使用