zoukankan      html  css  js  c++  java
  • 机器学习三剑客之Pandas中DataFrame基本操作

    Pandas 是基于Numpy 的一种工具,是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

    安装命令:pip install pandas

    具体操作如下:值得注意得是配置环境变量和添加项目路径要优先于导包 否则系统将检测不到pandas库

    #导包
    import os
    import sys

    #将脚本所在得工程添加到环境变量 绝对路径
    sys.path.append('c:/Users/王建/www/mymac')

    #相对路径
    sys.path.append('../mymac')


    #将项目路径添加到系统搜索路径
    os.environ["DJANGO_SETTINGS_MODULE"] = 'mymac.settings'

    #导入django模块
    import django

    #导入pandsa
    import numpy as np
    import pandas as pd

    #导入sqlalchemy
    from sqlalchemy import create_engine


    #加载项目配置
    django.setup()

    #加载数据类
    from myapp.models import Student

    if __name__ == "__main__":

    #加入数据库引擎
    engine = create_engine('mysql+pymysql://root:mysql@localhost:3306/mymac')
    #sql语句
    sql = ' select * from student '

    #建立数据框架
    df = pd.read_sql_query(sql,engine)
    print(df)

    # 按照年龄正序 加ascending=False倒序
    # 类似sql语句 select * from student order by age asc 或者 desc
    df = df.sort_values(["age","height"],ascending=False)
    print(df)


    # 取年龄最小得学生
    # select * from student order by age limit 1
    df = df.sort_values(["age"])
    print(df)

    # 求整个班级得平均年龄 使用loc方法指定字段
    print(df.mean())
    print(df.mean(0))
    print(df.mean(1))
    print(df.loc[df['gender'] == 0].age.mean())
    avg_age = df.loc[df['gender'] == 0].age.mean()
    print(df.loc[ (df['age'] < avg_age) & (df['gender'] == 0) ])
    # 取全班得平均年龄
    print(df.age.mean())
    # 全班年龄求个
    print(df.age.sum())
    # 获取男生得年龄求和
    print(df.loc[df['gender']==1].age.sum())
    # 取全班年龄最小
    print(df.age.min())
    # 或者 |
    print(df.loc[(df['gender'] == 0) | (df['gender'] == 1)])
    # 获取人数
    print(df.id.count())
    # 排除法
    print(df.loc[(df['gender'] != 0) & (df['gender'] != 1)])
    # 修改操作
    df.loc[1,'gender'] = 1
    print(df)
    df.loc[0,'age'] = 10
    print(df)
    # 取单值
    print(df.loc[5,'name'])
    # 获取指定字段
    print(df.loc[df['gender'] == 1 , ['id','name','age','height']])

    # 将dataframe写入数据表 表名,数据引擎 索引是否入库
    df.to_sql('student_copy',engine,index=False)

    # 导出excel文件
    # df.to_excel('student.xlsx')

    # print(Student.objects.all())
     
    参考数据库表:
  • 相关阅读:
    反射实现Model修改前后的内容对比
    [C#] 将NLog输出到RichTextBox,并在运行时动态修改日志级别过滤
    C#远程调用技术WebService葵花宝典
    C# winform实现右下角弹出窗口结果的方法
    C# / VB.NET合并PDF指定页
    C# Word转PDF/HTML/XML/XPS/SVG/EMF/EPUB/TIFF
    C# 将PDF转为SVG的3种情况
    C# 如何将PDF转为多种图像文件格式(Png/Bmp/Emf/Tiff)
    C# 按指定范围拆分Excel工作表
    Powershell如何在Start-Job的Scriptblock里传参?
  • 原文地址:https://www.cnblogs.com/wjohh/p/10493441.html
Copyright © 2011-2022 走看看