python根据列名行名取数据_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[:,列参数]。

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

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

学习链接:

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

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值