用 df.va lue s 读取数据的前提是必须知道学生及科目的位置,非常麻烦 。 而 df.loc
可直接通过行、列标题读取数据,使用起来更为方便 。
使用 df.loc 的语法为:

行标题或列标题若是包含多个项目,则用小括号将项目括起来,项目之间以逗
号分隔,如“( ” 数学 ” , ” 自然 ”) ”;若要包含所有项目,则用冒号“.”表示。
例如读取学生陈聪明的所有成绩:
import pandas as pd

datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
print('df.loc["陈聪明", :] ->')
print(df.loc["陈聪明", :])

读取学生陈聪明的数学科目成绩 :
print('df.loc["陈聪明"]["数学"] ->')
print(df.loc["陈聪明"]["数学"])

读取学生陈聪明、熊小娟的所有成绩 :
print('df.loc[("陈聪明", "熊小娟") ->')
print(df.loc[("陈聪明", "熊小娟"), :])

读取学生陈聪明、熊小娟的数学、 自然科目成绩 :
print('df.loc[:, "数学"] ->')
print(df.loc[:, "数学"])
print()
print('df.loc[("陈聪明", "熊小娟"), ("数学", "自然")] ->')
print(df.loc[("陈聪明", "熊小娟"), ("数学", "自然")])
print()

读取学生陈聪明到熊小娟的数学科目到社会科目的成绩 :
print('df.loc["陈聪明":"熊小娟", "数学":"社会"] ->')
print(df.loc["陈聪明":"熊小娟", "数学":"社会"])

读取从头到黄美丽的学生 , 及其从数学科目到社会科目 的成绩 :
print('df.loc[:黄美丽, "数学":"社会"] ->')
print(df.loc[:"黄美丽", "数学":"社会"])

读取从陈聪明到最后 的学生 ,他们 的数学科目 到社会科 目 的成绩 :
print('df.loc["陈聪明":, "数学":"社会"] ->')
print(df.loc["陈聪明":, "数学":"社会"])

用 df.iloc 通过行、列位置读取数据
df. iloc 是以行、列位置读取数据的 ,语法为 :
df. iloc 的用法与 df.loc 完全相同,只需要把 “ 标题 ” 改为“位置”即可。例如 ,
读取陈聪明(第 2 位学生〉的所有成绩 :
import pandas as pd

datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
print('df.iloc[1, :] ->')
print(df.iloc[1, :])

读取学生陈聪明的数学(第 2 个科目)成绩 :
print('df.iloc[1][1] ->')
print(df.iloc[1][1])

用 df.ix 通过行、列标题或行、列位置读取数据
df.ix 是 df. loc 及 df. iloc 的合体,以行、列标题或行、列位置的方式都可以读取
读取数据,语法为 :

df. i x 的用法与 d f. lo c 完全相同 。 例如 , 读取陈聪明(第 2 位学生〉的数学(第 2
个科目)成绩,通过下列 4 种语法都可以实现 :
import pandas as pd

datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
print('陈聪明的数学科成绩 ->')
print(df.ix["陈聪明"]["数学"])
print(df.ix["陈聪明"][1])
print(df.ix[1]["数学"])
print(df.ix[1][1])

读取最前面或最后面的几行数据
如果要读取最前面几行数据,可使用 head 方法,语法为:

参数 n 可有可无,表示读取最前面 n 行数据,若省略默认读取 5 行数据 。 例如,
读取最前面 2 个学生成绩(林大明及陈聪明) :
import pandas as pd

datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
print('最前 2 位学生成绩 ->')
print(df.head(2))

若要读取最后面几行数据, 则使用 tail 方法,语法为 :

print('最后 2 位学生成绩 ->')
print(df.tail(2))

吴裕雄--天生自然python学习笔记:pandas模块用 dataframe.loc 通过行、列标题读取数据的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:爬取我国 1990 年到 2017年 GDP 数据并绘图显示

    绘制图形所需的数据源通常是不固定的,比如,有时我们会需要从网页抓取, 也可能需从文件或数据库中获取. 利用抓取网页数据技术,把我国 1990 年到 2016 年的 GDP 数据抓取出来 ,再利用 Ma ...

  2. 吴裕雄--天生自然python学习笔记:pandas模块导入数据

    有时候,手工生成 Pandas 的 DataFrame 数据是件非常麻烦的事情,所以我们通 常会先把数据保存在 Excel 或数据库中,然后再把数据导入 Pandas . 另 一种情况是抓 取网页中成 ...

  3. 吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件

    用 Python 进行数据分析处理,其中最炫酷的就属 Pa ndas 套件了 . 比如,如果我 们通过 Requests 及 Beautifulsoup 来抓取网页中的表格数据 , 需要进行较复 杂的 ...

  4. 吴裕雄--天生自然python学习笔记:pandas模块删除 DataFrame 数据

    Pandas 通过 drop 函数删除 DataFrarne 数据,语法为: 例如,删除陈聪明(行标题)的成绩: import pandas as pd datas = [[65,92,78,83,7 ...

  5. 吴裕雄--天生自然python学习笔记:pandas模块DataFrame 数据的修改及排序

    import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]] ...

  6. 吴裕雄--天生自然python学习笔记:pandas模块读取 Data Frame 数据

    读取行数据 读取一个列数据的语法为: 例如,读取所有学生自然科目的成绩 : import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56 ...

  7. 吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器

    PM2.5 对人体的健康影响很大,所以空气中的 PM2.5 实时信息受到越来越多的关注. Python 的 Pandas 套件不但可以自动读取网页中的表格 数据 , 还可对数据进行修改.排序等处理,也 ...

  8. 吴裕雄--天生自然python学习笔记:python 建立 Firebase 数据库连接

    Python 程序通过 python-firebase 包可以存取 Firebase 数据库. 使用 python-firebase 包 首先必须安装 python-firebase 包,安装方法如下 ...

  9. 吴裕雄--天生自然python学习笔记:python下载安装各种模块的whl文件网址

    python下载安装各种模块的whl文件网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

随机推荐

  1. viewer.js插件简单使用说明

    不需要依赖jQuery.js,只需要导入viewer.js和viewer.css文件即可. 插件GitHub地址:https://github.com/fengyuanchen/viewerjs 示例 ...

  2. winform集成cefSharp,与页面进行交互

    /// <summary> /// 为了使网页能够与winForm交互 将 com 的可访问性设置为 true /// </summary> [System.Runtime.I ...

  3. ssh到ubuntu没颜色

    ssh远程到ubuntu系统, 没有颜色. 原因是 .bashrc 配置没生效. $ echo '. $HOME/.bashrc' > ~/.profile

  4. 吴裕雄--天生自然 JAVASCRIPT开发学习:HTML DOM 节点列表

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 将hello程序作为驱动程序编译进系统内核

    0x00开始 恩,可能是我比较愚钝,一个内核编译搞了一天,各种问题,各种bug,几度无奈,也是因为我突发奇想,并没有按照原来的那种操作,我直接把helloworld程序放到内核模块中编译成了一个驱动程 ...

  6. oracle的用户、权限、表空间的管理

    1.创建表空间 create tablespace test1_tablespace datafile 'test1file.dbf' size 10m; 2.创建临时表空间 create tempo ...

  7. java 中static关键字注意事项

    1.内存中存放的位置:(static修饰的方法和属性保存在方法区中,但是方法区也是堆的一部分) 内存的分区 2.什么样的属性可以定义为静态数据 例如: class person{ public Str ...

  8. PAT甲级——1073 Scientific Notation (20分)

    Scientific notation is the way that scientists easily handle very large numbers or very small number ...

  9. LGOJ3879 TJOI2010 阅读理解

    不可否认,\(TJOI\)的这道题确实不难 为本题写博客的唯一原因就是 \(STL\)大法好!!!! Description link 不简述题意了,因为实在是简单 Solution 直接\(map& ...

  10. 通过OAuth2.0 获取授权访问SF 用户数据

    站长资讯: 创建应用程序 新建应用程序   访问示例(Python+django) 环境准备: index.html 两种方式: 方式一:采用由用户授权,调用者无需知道SF的用户名与密码 方式二:直接 ...