系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2
- 这个系列主要是实际在做项目的一个笔记
- 自监控项目,主要是对采集的质量监控数据做的一个实时预警
- 今天继续讲讲如何从DataFrame获取需要到的行或者列
- 主要涉及:
ix
,at
,iat
,get_value
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:索引名称及整数混合操作
- 直接使用
ix
属性获取,可以理解成loc
和iloc
的混合版 ix
依然紧跟一个[行,列]
,行列既可以使用索引名称也可以使用表示位置的整数
df1 = df.ix["x":"z", [1, 3]]
print("\ndf1= \n", df1)
df11 = df.ix[1:3, "a":"c"]
print("\ndf11= \n", df11)
运行结果
Part 3:布尔操作
- 获取某一列中值满足特定条件的行
- 对整体DataFrame进行判断,不符合的则将其对应值置为NaN
df2 = df[df.a > 3]
print("\ndf2= \n", df2)
df3 = df[df > 11]
print("\ndf3= \n", df3)
运行结果
Part 4:获取单个值
- 使用
at[行,列]
或者iat[行,列]
或者get_value(行,列)
,注意[]
和()
的区别 at
和iat
的区别类似loc
和iloc
,一个使用索引名称,一个是整数
df4 = df.at["x", "a"]
print("\ndf4= \n", df4)
df5 = df.get_value("x", "a")
print("\ndf5= \n", df5)
df6 = df.iat[1, 2]
print("\ndf6= \n", df6)
运行结果
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出
更多原创请关注微信公众号
扫描二维码,关注公众号
Python 优雅 帅气