热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人工智能实训笔记DAY2

人工智能实训笔记DAY2Pandas模块matmatplotlib绘图线性图柱状图直方图饼图散点图简单案例Pandas模块DataFrameDataFrame的级联操作pd.co


人工智能实训笔记DAY2

  • Pandas模块
  • matmatplotlib绘图
    • 线性图
    • 柱状图
    • 直方图
    • 饼图
    • 散点图
  • 简单案例


Pandas模块


  • DataFrame
    • DataFrame的级联操作
      • pd.concat()
      • 类似于np.concatenate函数,多了一些参数:objs,axis,keys,join,ignore_index。
      • 不匹配级联,指级联的维度的索引不一致,有两种连接方式:
        • 外连接:补NaN,默认模式
        • 内连接:只连接匹配的项
    • 合并操作
      • pd.merge()
      • 级联是对表格的拼接,合并是对数据做合并。merge需要根据某一共同的列进行合并,会自动根据两者名称相同的column那一列来合并。若是两张表没有名称相同的列时,可使用left_on和right_on来指定列作为合并的列。
      • 内合并与外合并,out取并集,inner取交集。
  • pandas高级操作
    • 替换操作replace()
      • 单值替换,替换所有符合要求的元素:to_replace=x,value=y
      • 按列指定数据加载单值替换:to_replace={列标签:替换值},value=y;
    • 多值替换
      • 列表替换:to_replace=[],value=[]
      • 字典替换:to_replace={to_replace:value,to_replace:value}
    • 映射操作,给一个元素值提供不同的表现形式
      • map()
    • 运算工具
      • map()
      • apply()
      • apply的效率要远远高于map
    • 排序实现的随机抽样
      • take()
      • np.random.permutation()
    • 数据的分类处理
      • groupby()
      • groups属性查看分组情况
    • 高级数据聚合
      • 使用groupby后,也可以使用transform和apply提供自定义函数实现更多的运算
      • df.groupby(‘item’)[‘price’].sum() <&#61;&#61;> df.groupby(‘item’)[‘price’].apply(sum)
      • transform和apply可以传入函数&#xff0c;也可以传入一个lambda表达式
    • 数据加载
      • 读取文件数据&#xff1a;pd.read_csv()
      • 读取数据库数据&#xff1a;pd.read_sql()
      • 写入存储数据&#xff1a;df.to_sql()
    • 透视表
      对数据动态排布并分类汇总的表格&#xff0c;在pandas中为pivot_table&#xff0c;有四个重要参数&#xff1a;
      • index&#xff1a;分类汇总的分类条件&#xff08;必须有&#xff09;
      • values&#xff1a;对计算的数据进行筛选
      • columns&#xff1a;设置列层次字段&#xff0c;对values字段进行分类
      • aggfunc&#xff1a;设置对数据聚合时进行的函数操作&#xff0c;默认计算均值
    • 交叉表
      一种用于计算分组的特殊透视图&#xff0c;对数据进行汇总
    • pd.crosstab(index,columns)
      • index&#xff1a;分组数据&#xff0c;交叉表的行索引
      • columns&#xff1a;交叉表的列索引

matmatplotlib绘图


线性图


  • plt.plot()
    • 绘制单条线性图&#xff1a;plt.plot(x,y)
    • 绘制多条线性图&#xff1a;plt.plot(x1 ,y1 ,x2 ,y2 ,…)
    • 设置坐标系的比例 plt.figure(figsize&#61;(a,b))
    • 设置图例&#xff1a;legend(loc&#61;,ncol&#61;)
    • 设置轴的标识&#xff1a;label
    • 图例保存
      • fig&#61;plt.figure()
      • plt.plot(x,y)
      • figure.savfig()
    • 曲线的样式和风格

柱状图


  • plt.bar()
    • 第一个参数是索引&#xff0c;第二个参数是数据值&#xff0c;第三个参数是条形的宽度

直方图


  • 特殊的柱状图&#xff0c;又叫密度图
  • plt.hist()参数
    • bins&#xff1a;可以是一个bin数量的整数值&#xff0c;也可以是表示bin的一个序列。默认值为10
    • normed&#xff1a;如果值为True&#xff0c;直方图的值将进行归一化处理&#xff0c;形成概率密度&#xff0c;默认值为False
    • color&#xff1a;指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象&#xff0c;颜色序列将会设置为相同的顺序。如果未指定&#xff0c;将会使用一个默认的线条颜色
    • orientation&#xff1a;通过设置orientation为horizontal创建水平直方图。默认值为vertical

饼图


  • plt.pie()
    • 数据值参数x
    • labels设置图例
    • labeldistance设置图例与圆心距离
    • autopct设置占比百分数中小数位数
    • shadow设置是否有阴影
    • explode与x维数相同&#xff0c;非零元素表示该部分向外突出多少。

散点图


  • plt.scatter()

简单案例


  • 1、人口分析案例需求
    • 导入文件&#xff0c;查看原始数据
    • 将人口数据和各州简称数据进行合并
    • 将合并的数据中重复的abbreviation列进行删除
    • 查看存在缺失数据的列
    • 找到有哪些state/region使得state的值为NaN&#xff0c;进行去重操作
    • 为找到的这些state/region的state项补上正确的值&#xff0c;从而去除掉state这一列的所有NaN
    • 合并各州面积数据areas
    • 我们会发现area(sq.mi)这一列有缺失数据&#xff0c;找出是哪些行
    • 去除含有缺失数据的行
    • 找出2010年的全民人口数据
    • 计算各州的人口密度
    • 排序&#xff0c;并找出人口密度最高的州
  • 2、2012美国大选献金项目数据分析需求
    • 加载数据
    • 查看数据的基本信息
    • 指定数据截取&#xff0c;将如下字段的数据进行提取&#xff0c;其他数据舍弃
      • cand_nm &#xff1a;候选人姓名
      • contbr_nm &#xff1a; 捐赠人姓名
      • contbr_st &#xff1a;捐赠人所在州
      • contbr_employer &#xff1a; 捐赠人所在公司
      • contbr_occupation &#xff1a; 捐赠人职业
      • contb_receipt_amt &#xff1a;捐赠数额&#xff08;美元&#xff09;
      • contb_receipt_dt &#xff1a; 捐款的日期
    • 对新数据进行总览,查看是否存在缺失数据
    • 用统计学指标快速描述数值型属性的概要。
    • 空值处理。可能因为忘记填写或者保密等等原因&#xff0c;相关字段出现了空值&#xff0c;将其填充为NOT PROVIDE
    • 异常值处理。将捐款金额<&#61;0的数据删除
    • 新建一列为各个候选人所在党派party
    • 查看party这一列中有哪些不同的元素
    • 统计party列中各个元素出现次数
    • 查看各个党派收到的政治献金总数contb_receipt_amt
    • 查看具体每天各个党派收到的政治献金总数contb_receipt_amt
    • 将表中日期格式转换为’yyyy-mm-dd’。
    • 查看老兵(捐献者职业)DISABLED VETERAN主要支持谁

推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了在使用FIS配置过程中遇到的问题以及解决方法。作者发现在配置roadmap时使用命令行参数出现了诡异现象,uglify了js文件后,html中对js的引用没有被修改。经过多次尝试和验证,联系了FIS开发人员后才得知,使用fis.config.merge会导致一些问题。通过将fis.config.merge改为fis.config.get('roadmap.path').unshift()来添加配置,问题得以解决。文章指出FIS官方文档解释不够详细,提供了解决问题的方法。 ... [详细]
author-avatar
半路出家者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有