Python读取DataFrame的某行或某列的方法实现

2024-04-18 0 251
目录
  • 行索引、列索引、loc和iloc
  • 一、根据列索引取某一列/多列(常用)
  • 二、根据行索引取某一行/多行
  • 三、根据列位置取某一列/多列
  • 四、根据行位置取某一行/多行(常用)
  • 五、取某一行某一列(常用)
  • 六、取多行多列

行索引、列索引、loc和iloc

import pandas as pd
import numpy as np
# 准备数据
df = pd.DataFrame(np.arange(12).reshape(3,4),index=list(\”abc\”),columns=list(\”WXYZ\”))

Python读取DataFrame的某行或某列的方法实现

  • 行索引(index):对应最左边那一竖列

  • 列索引(columns):对应最上面那一横行

  • .loc[]官方释义:Access a group of rows and columns by label(s) or a boolean array.(通过标签或布尔数组访问一组行和列)官方链接

    • loc使用索引来取值,基础用法 df.loc[[行索引],[列索引]]
  • .iloc[]官方释义:Purely integer-location based indexing for selection by position.(按位置进行索引选择)官方链接

    • iloc使用位置(从0开始)来取值,基础用法 df.iloc[[行位置],[列位置]]

一、根据列索引取某一列/多列(常用)

df[\’W\’] # 取‘W\’列,返回类型是Series
df[[\’W\’]] # 取‘W\’列,返回类型是DataFrame
df[[\’W\’,\’Y\’]] # 取‘W\’列和‘Y\’列
df.loc[:,\’W\’:\’Y\’] # 取‘W\’列到‘Y\’列

二、根据行索引取某一行/多行

df.loc[\’a\’] # 取‘a\’行,返回类型是Series
df.loc[[\’a\’]] # 取‘a\’行,返回类型是DataFrame
df.loc[[\’a\’,\’c\’]] # 取‘a\’行和‘c\’行,也可以写成 df.loc[[\’a\’,\’c\’],:]
df.loc[\’a\’:\’c\’,:] # 取‘a\’行到‘c\’行

三、根据列位置取某一列/多列

df.iloc[:,1] # 取第2列(‘X\’列),列号为1,返回类型是Series
df.iloc[:,0:2] # 取前2列(‘W\’列和‘X\’列),列号为0和1
df.iloc[:,0:-1] # 取最后一列之前的所有列

四、根据行位置取某一行/多行(常用)

df[:2] #取前2行,行号为0和1
df[1:2] #取第2行,行号为1
df.iloc[1] # 取第2行(‘b\’行),行号为1,返回类型是Series,也可以写成df.iloc[1,:]

五、取某一行某一列(常用)

df.loc[[\’b\’],[\’W\’]] # 取‘b\’行‘W\’列,返回类型是DataFrame,带着行、列索引的
df.loc[\’b\’,\’W\’] # 取‘b\’行‘W\’列的值,返回类型是int,不带行列索引
df.loc[\’b\’][\’W\’] # 取‘b\’行‘W\’列的值(从Series类型df.loc[\’b\’]中通过索引取值)

df.iloc[[0],[0]] # 取第1行、第1列,返回类型是DataFrame,带着行、列索引的
df.iloc[0,0] # 取第1行、第1列的值
df.iloc[0][0] # 取第1行、第1列的值(从Series类型df.iloc[0]中通过序号取值)
df.iloc[0][\’W\’] # 取第1行、‘W\’列的值(从Series类型df.iloc[0]中通过索引取值)

六、取多行多列

df[:2][[\’W\’,\’Y\’]] # 取前2行的‘W\’列和\’Y‘列
df[:2].loc[:2,\’W\’:\’Y\’] # 取前2行的‘W\’列到\’Y‘列

df.iloc[0][[\’W\’,\’Y\’]] # 取第1行的‘W\’列和\’Y‘列
df.iloc[0][\’W\’:\’Y\’] # 取第1行的‘W\’列到\’Y‘列

df.loc[[\”a\”,\”c\”],[\”W\”,\”Y\”]] # 取‘a\’行和‘c\’行,‘W\’列和‘Y\’列
df.iloc[[0,2],[1,3]] # 取1、3行,2、4列

总结:一般通过行位置来取行,通过列索引来取列,且行索引大多数情况下和行位置是相同的。最常用的是以下几个

# 取某一列
df[\’W\’]
# 取某一行
df.iloc[0]
# 取多列
df.loc[:,\’W\’:\’Y\’] # 取‘W\’列到‘Y\’列
df.iloc[:,0:-1] # 取最后一列之前的所有列
# 取对应行列的值
df.iloc[0][\’W\’]
df.loc[\’a\’,\’W\’] # 在行索引和行位置相同的情况下的写法就是,df.loc[0,\’W\’]

到此这篇关于Python读取DataFrame的某行或某列的方法实现的文章就介绍到这了,更多相关Python读取DataFrame行列内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • python批量读取txt文件为DataFrame的方法
  • python读取文本中数据并转化为DataFrame的实例
  • Python Pandas批量读取csv文件到dataframe的方法
  • Python实现将通信达.day文件读取为DataFrame
  • python读取hdfs并返回dataframe教程
  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Python Python读取DataFrame的某行或某列的方法实现 https://www.u-9.cn/jiaoben/python/187045.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务