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())
 
参考数据库表:

机器学习三剑客之Pandas中DataFrame基本操作的更多相关文章

  1. Pandas中DataFrame修改列名

    Pandas中DataFrame修改列名:使用 rename df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01- ...

  2. Spark与Pandas中DataFrame对比

      Pandas Spark 工作方式 单机single machine tool,没有并行机制parallelism不支持Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制paral ...

  3. pandas中DataFrame的ix,loc,iloc索引方式的异同

    pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...

  4. Spark与Pandas中DataFrame对比(详细)

      Pandas Spark 工作方式 单机single machine tool,没有并行机制parallelism不支持Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制paral ...

  5. 机器学习 三剑客 之 pandas + numpy

    机器学习 什么是机器学习? 机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测 机器学习存在的目的和价值领域? 领域: 医疗.航空.教育.物流.电商 等... 目的: 让机器学习 ...

  6. pandas中DataFrame对象to_csv()方法中的encoding参数

    当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...

  7. pandas中DataFrame和Series的数据去重

    在SQL语言中去重是一件相当简单的事情,面对一个表(也可以称之为DataFrame)我们对数据进行去重只需要GROUP BY 就好. select custId,applyNo from tmp.on ...

  8. pandas中DataFrame重置设置索引

    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取.插入等. 小笔总结了以下几种重置索引的方法: import pandas as pd import numpy as n ...

  9. pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    数据介绍 先随机生成一组数据: import pandas as pd import numpy as np state = ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'N ...

随机推荐

  1. kubernetes认证和serviceaccount

    Service Account 为 Pod 提供必要的身份认证.所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 usera ...

  2. cf997C. Sky Full of Stars(组合数 容斥)

    题意 题目链接 \(n \times n\)的网格,用三种颜色染色,问最后有一行/一列全都为同一种颜色的方案数 Sol Orz fjzzq 最后答案是这个 \[3^{n^2} - (3^n - 3)^ ...

  3. 开发Spring过程中几个常见异常(二):Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'a' define

    本异常是小编在运行自己另外一篇博文中的例子时遇到的.(附博文:http://www.cnblogs.com/dudududu/p/8482487.html) 完整异常信息: 警告: Exception ...

  4. 嵌套RecyclerView左右滑动替代自定义view

    以前的左右滑动效果采用自定义scrollview或者linearlayout来实现,recyclerview可以很好的做这个功能,一般的需求就是要么一个独立的左右滑动效果,要么在一个列表里的中间部分一 ...

  5. listview reclyerview上下拉刷新

    x写控件挺麻烦的,因为有很多细节要处理好,列表控件使用太频繁了,网上也各种自定义的方法,一般的listview自定义肯定会联想到加个头部,然后监听事件加动画,其实方式很多种,今天记录的方式是另外一种方 ...

  6. JNI C反射调用java方法

    前面记录了调用C的学习笔记,现在来记录一下C反射调用Java的笔记.JNI开发学习之调用C方法 Android开发中调用一个类中没有公开的方法,可以进行反射调用,而JNI开发中C调用java的方法也是 ...

  7. 使用Java实现简单的局域网设备扫描

    在产品的使用中我们一般都要设置一个配置环节,这个环节可以设定主机的IP地址等信息,但是这样配置的话使得我们的产品用起来效果不是很好,因此我想到了实现局域网IP扫描的功能,IP局域网扫描是指定IP网段获 ...

  8. 2014年11月17~11月18日,杨学明老师《企业IT需求收集和实施》内训在湖南长沙某酒店成功举办!

    2014年11月17至18日,受湖南某软件企业的邀请,杨学明老师<企业IT需求收集和实施>内训在某长沙某五星级酒店成功举办!来自全国各地的IT高管和企业负责人参加了此次培训.杨学明老师分别 ...

  9. 关于一体机外卖单不打印外卖单号FAQ(适用正餐6.0.09,轻餐4.0.6.1,轻餐4.0.6.2)

    适用情景:升级版本后打印机打印出的外卖小票不出现外卖单号. 解决方案:设置-功能设置-小票设置-小票自定义-前台小票-外卖订单-------选择编辑,选中右侧中外卖单号或者外卖订单编号,点击保存即可. ...

  10. 简易付弹窗问题FAQ

    情景:按返回键后,使用快捷键弹到数据统计页面. 适用门店类型:单纯收银. 解决方案:操作步骤下                        1.       系统修复-更多-快捷键设置 . 2.   ...