pandas抽取行列数据的几种方法

 更新时间:2020年12月13日 11:35:02   作者:北木.  
这篇文章主要介绍了pandas抽取行列数据的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

取行和列的几种常用方式:

data[ 列名 ]: 取单列或多列,不能用连续方式取,也不能用于取行。
data.列名: 只用于取单列,不能用于行。
data[ i:j ]: 用起始行下标(i)和终止行下标(j)取单行或者连续多行,不能用于列的选取。
data.loc[行名,列名]: 用对象的.loc[]方法实现各种取数据方式。
data.iloc[行下标,列下标]: 用对象的.iloc[]方法实现各种取数据方式。

首先生成一个DataFrame对象:

import pandas as pd
score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]]
name = ['小新','小红','小李']
course = ['语文','数学','英语','政治']
mydata = pd.DataFrame(data=score,columns=name,index=course)#指定行列名
print(mydata)

小新  小红  小李
语文  34  67  87
数学  68  98  58
英语  75  73  86
政治  94  59  81

1. 直接用列名抽取单列或多列 – data[列名]

print(mydata['小红']) # 输出是一个Series对象,而不是DataFrame对象
语文 67
数学 98
英语 73
政治 59 

print(mydata[['小红']]) # 加了[],此时输出的是DataFrame对象
 小红
语文 67
数学 98
英语 73
政治 59

print(mydata[['小红','小李']]) #选择两列,此时必须用[]将两列括起来
 小红 小李
语文 67 87
数学 98 58
英语 73 86
政治 59 81

2. 用行所在矩阵索引抽取一个行或者连续多行数据

print(mydata[0:1]) #通过0:1选择了第0行
 小新 小红 小李
语文 34 67 87

mydata[0:3] #通过0:3选择了第0,1,2三行
 小新 小红 小李
语文 34 67 87
数学 68 98 58
英语 75 73 86

3. 用数据的“·”方式获取某一列数据

print(mydata.小红) #通过.小红选择了小红列,注意输出的是Series对象
语文 67
数学 98
英语 73
政治 59 

4. panadas 中利用DataFrame对象的.loc[,]、.iloc[,]方法抽取数据

引例:

import pandas as pd
score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]]
name = ['小新','小红','小李']
course = ['语文','数学','英语','政治']
mydata1 = pd.DataFrame(data=score,columns=name,index=course) # 指定行名(index)和列名(columns)
print(mydata1)
mydata2 = pd.DataFrame(score) # 不指定行列名,默认使用0,1,2……
print(mydata2)

    小明  小红  小李
语文  34  67  87
数学  68  98  58
英语  75  73  86
政治  94  59  81
    0   1   2
0  34  67  87
1  68  98  58
2  75  73  86
3  94  59  81

DataFrame对象的.loc[]和.iloc[]方法都可用于抽取数据,区别是:

  • .loc[]: 以列名和行名作为参数。
  • .iloc[]: 以二维矩阵的位置指标(即0,1,2……)作为参数。

.loc[]语法:

有两个输入参数,第一个指定行名,第二个指定列名。当只有一个参数时,默认是行名(即抽取整行),所有列都选中。

.iloc[]语法:

有两个输入参数,第一个指定行位置,第二个指定列位置。当只有一个参数时,默认是行位置(即抽取整行),所有列都选中。

总结:

当需要选中所有行的某几列时,行参数可以省略,列参数需要指定,此时列参数前面必须带上“,:”,形如.loc[:,列参数],.iloc[:,列参数]。

两种方法当只指定一个输入参数时,都默是跟“行”相关,而“列”则全部被选中。如何行和列都需要指定时,中间用“逗号,”隔开,这非常重要,否则出错。

两个方法都接受两个参数,第一个是“行标签”或者“矩阵行号”,第二个是“列标签”或者“矩阵列号”。

学习链接:

Panadas 中利用DataFrame对象的.loc[,]、.iloc[,]方法抽取数据
pandas的DataFrame对象抽取“整列”或者“整行”数据

到此这篇关于pandas抽取行列数据的几种方法的文章就介绍到这了,更多相关pandas抽取行列数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现按照指定要求逆序输出一个数字的方法

    Python实现按照指定要求逆序输出一个数字的方法

    这篇文章主要介绍了Python实现按照指定要求逆序输出一个数字的方法,涉及Python针对字符串的遍历、判断、输出等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 一文带你了解python中的多态性

    一文带你了解python中的多态性

    多态性是 OOP 的一个特征,这意味着一个名称可以具有不同的功能, 这篇文章主要为大家详细介绍了如何在 Python 中实现多态性,感兴趣的小伙伴可以学习一下
    2023-11-11
  • pandas常用表连接merge/concat/join/append详解

    pandas常用表连接merge/concat/join/append详解

    使用python的pandas库可以很容易帮你搞定,而且性能也是很出色的;百万级的表关联,可以秒出,本文给大家分享pandas常用表连接merge/concat/join/append详解,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • 15款Python编辑器的优缺点,别再问我“选什么编辑器”啦

    15款Python编辑器的优缺点,别再问我“选什么编辑器”啦

    这篇文章主要介绍了15款Python编辑器的优缺点,别再问我“选什么编辑器”啦,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-10-10
  • Python3.x+pyqtgraph实现数据可视化教程

    Python3.x+pyqtgraph实现数据可视化教程

    这篇文章主要介绍了Python3.x+pyqtgraph实现数据可视化教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 在Python下使用Txt2Html实现网页过滤代理的教程

    在Python下使用Txt2Html实现网页过滤代理的教程

    这篇文章主要介绍了在Python下使用Txt2Html实现网页过滤代理的教程,来自IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • 关于Word2Vec可视化展示

    关于Word2Vec可视化展示

    这篇文章主要介绍了关于Word2Vec可视化展示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python selenium 实例之通过 selenium 查询禅道是否有任务或者BUG

    Python selenium 实例之通过 selenium 查询禅道是否有任务或者BUG

    这篇文章主要介绍了Python selenium 实例之通过 selenium 查询禅道是否有任务或者BUG的相关资料,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python爬虫之基金信息存储

    python爬虫之基金信息存储

    这篇文章主要介绍了python爬虫之基金信息存储,前面已经讲了很多次要进行数据存储,终于在上一篇中完成了数据库的设,在这篇文章我们就来完成数据存储操作部分的介绍,需要的朋友可以参考一下
    2022-05-05
  • Python实现控制台进度条功能

    Python实现控制台进度条功能

    这篇文章主要介绍了Python实现控制台进度条功能,Python中如何写控制台进度条,本文为大家揭晓,感兴趣的小伙伴们可以参考一下
    2016-01-01

最新评论