• pandas是python第三方库,提供高性能易用数据类型和分析工具
  • pandas基于numpy实现,常与numpy和matplotlib一同使用
  • pandas中有两大核心数据结构:Series(一维数据) 和 DataFrame(多特征数据)

>> 01 Series(一维数据)

  • Series是一种类似于一维数组的对象,它由一维数组(各种numpy数据类型)以及一组与之相关的数据标签(即索引)组成;
  • Seriesd的数据结构为“键值对”的形式,“键”可以重复;
  • Series的创建:①使用Python数组创建  ②使用numpy数组创建  ③使用python字典创建
import pandas as pd
import numpy as np
pds1 = pd.Series([99, 98], index=['xiaoming', 'xiaohong'])
print(pds1)          # 使用Python数组创建pds2 = pd.Series(np.arange(3,6))
print(pds2)          # 使用numpy数组创建pds3 = pd.Series({'name': 'xiaoming', 'age': 21, 'score': 99})
print(pds3)          # 使用python字典创建# 注意:与字典不同的是:Series允许索引重复
  • Series的字符串表现形式为:索引在左边,值在右边
import pandas as pd
pds = pd.Series([1, 2, 3, 4])
print(pds)
  • 如果没有为数据指定索引,则自动创建一个0到N-1(N为数据的长度)的整数型索引
  • 可以通过Series的values和index属性获取其数组表示形式和索引对象
import pandas as pd
pds = pd.Series([1, 2, 3, 4])
print('values',pds.values)
print('index',pds.index)
  • 与普通numpy数组相比,可以通过索引的方式选取Series中的单个或一组值
import pandas as pd
pds = pd.Series([1, 2, 3, 4])
print(pds[0])           # 读取第一个值
pds[1] = 10             # 更改第二个值
print(pds[[1,2]])
  • Series中最重要的一个功能是:在算术运算中自动对齐不同索引的数据
import pandas as pd
stu1 = pd.Series({'math': 100, 'physics': 98, 'chemistry': 90})
stu2 = pd.Series({'math': 95, 'physics': 96, 'chemistry': 94})
print(stu1 + stu2)

>> 02 DataFrame(多特征数据)

  • DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)
  • DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)
  • 跟其他类似的数据结构相比,DataFrame中面向行和面向列的操作基本上是平衡的
  • DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)
import pandas as pddata = {'name': ['A1', 'A2', 'A3'], 'score': [100, 99, 98]}
fr = pd.DataFrame(data)
print(fr)# 可按照指定的列顺序创建
fr = pd.DataFrame(data, columns=['score', 'name'])
print(fr)
  • 可以给DataFrame创建或修改列的值
import pandas as pddata = {'name': ['A1', 'A2', 'A3'], 'score': [100, 99, 98]}
fr = pd.DataFrame(data)
# 新增某列的值
fr['age'] = [21,22,20]
print(fr)# 修改某一个值
fr.loc[1, 'age'] = 30
print(fr)
  • values属性会以二维ndarray的形式返回DataFrame中的数据
import pandas as pddata = {'name': ['A1', 'A2', 'A3'], 'score': [100, 99, 98]}
fr = pd.DataFrame(data)
print(fr.values)

机器学习四剑客3——Pandas相关推荐

  1. 机器学习四剑客1——Numpy

    求业之精,别无他法,日专而已矣! 一.概论 1.机器学习是什么 2.机器学习做什么 3.机器学习基本概念 二.机器学习第一步:数据分析 1.Python被大量应用在数据挖掘和深度学习领域: 2.其中使 ...

  2. 机器学习四剑客4——PIL

    PIL库是一个具有强大图像处理能力的第三方库 在命令行下的安装方法:pip install pillow 在使用过程中的引入方法:from PIL import Image Image 是 PIL 库 ...

  3. 机器学习四剑客2——Matplotlib

    1.什么是Matplotlib 2.Matplotlib的基本要点 3.Matplotlib的散点图.直方图.柱状图 4.更多的画图工具 函数 说明 plt.plot(x,y,fmt,...) 绘制一 ...

  4. python dataframe 新列_Python第二十四课:Pandas库(四)

    Python第二十四课:Pandas库(四)点击上方"蓝字",关注我们. 不知不觉,我们已经跨越了千难万险,从零开始,一步步揭开了Python神秘的面纱.学到至今,回过头,才晓得自 ...

  5. 【详解】机器学习库-Matplotlib+Numpy+Pandas

    目录 机器学习库-Matplotlib+Numpy+Pandas 1 Matplotlib基本使用 1.2 用途 1.3 操作指南 1.4 常见图形绘制 1.5 代码实现 2 Numpy基本使用 2. ...

  6. iPhone开发四剑客之《Objective-C基础教程》

    iPhone 开发四剑客之<Objective-C 基础教程> Objective-C 语言是 C 语言的一个扩展集,许多(可能是大多数)具备 Mac OS X 外观的应用程序都是使用该语 ...

  7. 创客常用开发板“四剑客”对比,谁最“快”?

    小编提到过随着嵌入式平台和框架之间的相互学习和融合,Arduino爱好者的工具箱里的工具也越来越多了,比如时下最流行的支持Arduino IDE开发的"四剑客": Arduino ...

  8. linux四剑客-grep/find/sed/awk/详解-技术流ken

    四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...

  9. 四剑客查找字符_linux 四剑客 find 、grep、sed、awk整理

    linux 四剑客 find .grep.sed.awk整理 find 主要是用于查找Linux 操作系统的某个文件.目录所在路径,查找出满足条件的文件或者目录的路径 find / -name *.r ...

最新文章

  1. 重零开始学前端-基础(2) 运算符和数据转换
  2. Veeam在思科2017年合作伙伴峰会上荣获ISV年度最佳合作伙伴全球奖
  3. flink批流统一​(还没完成)
  4. 1 微信公众号开发 服务器配置 有什么用
  5. 【数据结构与算法】图结构最小生成树Kruskal算法的Java实现
  6. 怎么自己打印餐饮小票_自己怎么做餐饮外卖配送系统?可以开发外卖配送系统的公司有哪些?...
  7. python计算一定期间的涨幅_python数据分析与挖掘(十一)--- ndarray运算
  8. Qt 串口类QSerialPort 学习笔记
  9. 解决This application failed to start because cannot find or load the qt platform plugin 'xcb'
  10. JavaWeb:XML
  11. astype和squeeze 函数
  12. 西班牙语dele等级_2020年西班牙语DELE考试时间一览表
  13. 重载,重写(覆盖)和隐藏的区别
  14. 传智播客毕向东 Java
  15. Zotero使用记录----1 下载与安装
  16. 如何把二维表转成一维表
  17. 如何用淘宝客为淘宝店铺引流
  18. FFplay文档解读-43-视频过滤器十八
  19. Ar大屏幕互动,面向非专业领域的体验
  20. 情侣纪念日网站html5源码教程

热门文章

  1. python rjust() 方法 与 ljust()方法 的使用
  2. buildConfigField 使用
  3. kvm虚拟机vnc配置
  4. 白话学习MVC(六)模型绑定
  5. 判断一个字符串中出现次数最多的字符
  6. 结构化方法与面向对象方法之比较
  7. Struts2中Action接收参数
  8. android View未渲染时获得高度
  9. Ruby: Ruby脚本在测试中的使用
  10. 使用.NET FileSystemWatcher对象监控磁盘文件目录的改变