前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【项目实战】自监控-07-DataFrame行列操作(中篇)

【项目实战】自监控-07-DataFrame行列操作(中篇)

作者头像
zishendianxia
发布2019-10-23 17:06:03
2870
发布2019-10-23 17:06:03
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列主要是实际在做项目的一个笔记
  • 自监控项目,主要是对采集的质量监控数据做的一个实时预警
  • 今天继续讲讲如何从DataFrame获取需要的行或者列
  • 主要涉及:iloc

今日歌曲:

Part 1:构建一个DataFrame

  1. 一个DataFrame可以看成一个二维表格,不过这个二维表格有行标题也有列标题,而且每类标题可能不止一级
  2. 示例中由一个字典构建一个DataFrame
  3. 通过index参数制定行名称
代码语言:javascript
复制
import pandas as pddict1 = {"a": [1, 3, 5, 6], "b": [11, 12, 15, 16],         
        "c": [22, 27, 29, 30], "d": [82, 87, 89, 80]}df = pd.DataFrame(dict1, index=["x", "y", "z", "q"])
print("df= \n", df)

运行结果

Part 2:行操作

  1. 直接使用iloc属性获取,loc可以理解成locationiloc可以理解成integer location
  2. iloc依然紧跟一个[行,列],中括号中放入拟需要的行索引和列索引,但是行列索引只能使用整数,所以表示的是一种位置,起始位为0
  3. 若不对列进行筛选,则表示列信息的区域可以省略
  4. 若多于1行,可以使用一个列表表示对应的行信息,也可以使用切片操作
  5. 切片操作[1:3],表示的是[1, 2],不包括结束位
代码语言:javascript
复制
df1 = df.iloc[[1, 3]]
print("\ndf1= \n", df1)df11 = df.iloc[1:3]
print("\ndf11= \n", df11)

运行结果

Part 3:列操作

  1. 使用iloc属性获取
  2. [:,列]其中的行使用即可,即保持所有行信息,只筛选列信息
  3. 若多于1列,可以使用一个列表表示对应的列信息,也可以使用切片操作
代码语言:javascript
复制
df2 = df.iloc[:, [1, 3]]
print("\ndf2= \n", df2)df22 = df.iloc[:, 1:3]
print("\ndf22= \n", df22)

运行结果

Part 4:行列混合操作

  1. 就是以上两种的综合,[行,列]对应的行列信息都需要
  2. 当多于1行或者1列的时候,可以使用列表切片操作
代码语言:javascript
复制
df3 = df.iloc[[1, 3], [1, 3]]
print("\ndf3= \n", df3)df33 = df.iloc[1:3, 1:3]
print("\ndf33= \n", df33)

运行结果


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part 1:构建一个DataFrame
  • Part 2:行操作
  • Part 3:列操作
  • Part 4:行列混合操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档