温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用Pandas读取某列某行数据

发布时间:2022-03-08 16:14:26 来源:亿速云 阅读:7361 作者:小新 栏目:开发技术

小编给大家分享一下如何利用Pandas读取某列某行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。

loc:通过行、列的名称或标签来索引

iloc:通过行、列的索引位置来寻找数据

首先,我们先创建一个Dataframe,生成数据,用于下面的演示

import pandas as pd
import numpy as np
 
# 生成DataFrame
data = pd.DataFrame(np.arange(30).reshape((6,5)),
                    columns=['A','B','C','D','E'])
# 写入本地
data.to_excel("D:\\实验数据\\data.xls", sheet_name="data")
print(data)

如何利用Pandas读取某列某行数据

1.loc方法

loc方法是通过行、列的名称或者标签来寻找我们需要的值。

(1)读取第二行的值

# 索引第二行的值,行标签是“1”
data1 = data.loc[1]

        结果:

如何利用Pandas读取某列某行数据

备注:
#下面两种语法效果相同
data.loc[1] == data.loc[1,:]

 (2)读取第二列的值

# 读取第二列全部值
data2 = data.loc[ : ,"B"]

结果:

如何利用Pandas读取某列某行数据

(3)同时读取某行某列

# 读取第1行,第B列对应的值
data3 = data.loc[ 1, "B"]

结果:

如何利用Pandas读取某列某行数据

(4)读取DataFrame的某个区域

# 读取第1行到第3行,第B列到第D列这个区域内的值
data4 = data.loc[ 1:3, "B":"D"]

结果:

如何利用Pandas读取某列某行数据

(5)根据条件读取

# 读取第B列中大于6的值
data5 = data.loc[ data.B > 6] #等价于 data5 = data[data.B > 6]

结果:

如何利用Pandas读取某列某行数据

(6)也可以进行切片操作

# 进行切片操作,选择B,C,D,E四列区域内,B列大于6的值
data1 = data.loc[ data.B >6, ["B","C","D","E"]]

结果:

如何利用Pandas读取某列某行数据

2.iloc方法

iloc方法是通过索引行、列的索引位置[index, columns]来寻找值

(1)读取第二行的值

# 读取第二行的值,与loc方法一样
 
data1 = data.iloc[1]
 
# data1 = data.iloc[1, :],效果与上面相同

结果:

如何利用Pandas读取某列某行数据

(2)读取第二列的值

# 读取第二列的值
data1 = data.iloc[:, 1]

结果:

如何利用Pandas读取某列某行数据

(3)同时读取某行某列

# 读取第二行,第二列的值
data1 = data.iloc[1, 1]

结果:

如何利用Pandas读取某列某行数据

(4)进行切片操作

# 按index和columns进行切片操作
# 读取第2、3行,第3、4列
data1 = data.iloc[1:3, 2:4]

结果:

如何利用Pandas读取某列某行数据

注意:

这里的区间是左闭右开,data.iloc[1:3, 2:4]中的第4行、第5列取不到

补充:利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
 
In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

利用loc函数,根据某个数据来提取数据所在的行

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]: 
   A  B  C  D
a  0  1  2  3

以上是“如何利用Pandas读取某列某行数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI