您的位置:首页 > 运维架构

【项目实战】自监控-06-DataFrame行列操作

2017-07-26 20:15 211 查看
系统:Windows 7

语言版本:Anaconda3-4.3.0.1-Windows-x86_64

编辑器:pycharm-community-2016.3.2

这个系列主要是实际在做项目的一个笔记

自监控项目,主要是对采集的质量监控数据做的一个实时预警

今天讲讲如何从DataFrame获取需要到的行或者列

主要涉及:
loc


Part 1:构建一个DataFrame

一个
DataFrame
可以看成一个二维表格,不过这个二维表格有行标题也有列标题,而且每类标题可能不止一级

示例中由一个字典构建一个DataFrame

通过
index
参数制定行名称

import pandas as pd

dict1 = {"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:行操作

直接使用
loc
属性获取

注意
loc
后紧跟一个
[行,列]
,中括号中放入拟需要的行索引和列索引

若不对列进行筛选,则表示列信息的区域可以省略

若多于1行,可以使用一个列表表示对应的行信息,也可以使用切片操作

df1 = df.loc[["x", "q"]]
print("\ndf1= \n", df1)

df11 = df.loc["x":"z"]
print("\ndf11= \n", df11)


运行结果



Part 3:列操作

使用
loc
属性获取

[:,列]
其中的行使用
即可,即保持所有行信息,只筛选列信息

若多于1列,可以使用一个列表表示对应的列信息,也可以使用切片操作

df2 = df.loc[:, ["a", "c"]]
print("\ndf2= \n", df2)

df22 = df.loc[:, "a":"c"]
print("\ndf22= \n", df22)


运行结果



Part 4:行列混合操作

就是以上两种的综合,
[行,列]
对应的行列信息都需要

当多于1行或者1列的时候,可以使用列表或者切片操作

df3 = df.loc[["x", "q"], ["a", "d"]]
print("\ndf3= \n", df3)

df33 = df.loc["x": "z", "a":"c"]
print("\ndf33= \n", df33)


运行结果



以上为本次的学习内容,下回见

本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出

更多原创请关注微信公众号

扫描二维码,关注公众号
Python 优雅 帅气


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息