zoukankan      html  css  js  c++  java
  • 预处理算法_10_数学函数

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # <editable>
    
    def execute():
        # <editable>
        '''
        导入模块
        '''
        import math
        import pandas as pd
        from sqlalchemy import create_engine
        '''
        连接数据库
        '''
        engine = create_engine('mysql+pymysql://root:123123qwe@127.0.0.1:3306/analysis')
    
        '''
        选择目标数据
        '''
    
        params = {
            "columns": "score",
            "method": "math.sqrt",  # "向上取整:math.ceil;绝对值:math.fabs;向下取整:math.floor;平方根:math.sqrt;返回整数:math.trunc;"
            "label": 'score'
        }
        inputs = {"table": 'test'}
        sql = 'select ' + params['columns'] + ' from ' + inputs['table']
        data_in = pd.read_sql_query(sql, engine)
        print(data_in)
        '''
        使用数学类函数
        '''
        fun = eval(params['method'])
        if data_in[params['label']].dtypes == 'float64' or data_in[params['label']].dtypes == 'int':
            data_in[params['label']] = data_in[params['label']].apply(lambda x: fun(x))
            data_out = data_in
        else:
            raise ValueError('请选择数值型数据!')
    
        '''
        将结果写出
        '''
        print(data_out)
        '''
        数据示例
           score
        0   80.0
        1   20.0
        2    NaN
        3    5.0
        4    4.0
        5   20.0
        float64
        0    8.944272
        1    4.472136
        2         NaN
        3    2.236068
        4    2.000000
        5    4.472136
        Name: score, dtype: float64
              score
        0  8.944272
        1  4.472136
        2       NaN
        3  2.236068
        4  2.000000
        5  4.472136
    
        '''
    
    # </editable>
    
    if __name__ == '__main__':
        execute()
    作者:沐禹辰
    出处:http://www.cnblogs.com/renfanzi/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    Springboot使用slf4j记录日志和lombok(能用的1)-主要看这个!
    mysql-覆盖索引(转载)(收藏过)
    Github上开源仿京东商城项目启动配置详解(小白版)
    java8 stream常用用法(转载)
    JDK下载过慢的问题解决方案
    intellij idea 的全局搜索快捷键方法(转载)
    Linux终端复制粘贴快捷命令
    Kali入门配置
    Google搜索
    Dig
  • 原文地址:https://www.cnblogs.com/renfanzi/p/14476670.html
Copyright © 2011-2022 走看看