pandas 6 - 索引切片选择( tcy)

2024-03-20 09:48
文章标签 切片 选择 索引 pandas tcy

本文主要是介绍pandas 6 - 索引切片选择( tcy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

索引切片选择      2018/12/3  2018/12/14  

1.Series选择:

操作句法实例结果说明
 - - - -s=pd.Series([0,1,2,3,4],index=list('abcde'))
标签s/s.locs[单个标签]s['c'] , s.loc['c']2如未包含标签则引发异常
标签s/s.locs[标签切片]s['c':'e']=62,3,4标签切片包含末端‘e’;
标签s/s.locs[标签列表]s[['c','d','e']]2,3,4标签不存在抛异常。错误用法s[('c','d','e')]
切片s/s.ilocs[n-1]s[2],s.iloc[2]2 -
切片s/s.ilocs[切片]s[2:]2,3,4选择第3,4,5行数据
切片s/s.iloc -s[:3] , s[-3:] -选择前,后3个数据
bool-s/s.ilocs[布尔向量]s[s>1] , s.loc[s>1]2,3,4选择s>1的数据2,3,4个数据(第3,4,5行)
属性访问s.as.c2 -
get-函数s.get(label)s.get('c')2缺少标签返回None或指定默认值

 

2.数据帧DataFrame选择:-汇总表

 

No

函数df[]df.loc[]df.iloc[]df.at[]df.iat[]
1用途选择行或列选择行列选择行列标量标量
2索引数值行索引int或str;索引是行名,列名索引是数值索引是行名,列名索引是数值
  列索引是行,列名 - - - -
3选择标量 -df.loc['b','C'] df.iloc[1,2]df.at['b','C']df.iat[1,2]
 选择标量 - - -df.loc['b'].iat[2]df.iloc[1].at['C']
4选择行df[0:1]或df['a':'a'] df.loc['b']df.iloc[1] - -
 选择行df[0:3]或df['a':'c']  df.loc[['b','c']]df.iloc[[1,3]] - -
 选择行 df.loc['a':'c']df.iloc[1:4] - -
5选择列df['A']或df.A df.loc[:,'B']df.iloc[:,1] - -
 选择列df[['A','C']]   df.loc[:,['B','C']]df.iloc[:,[1,2]] - -
 选择列 -df.loc[:,'A':'C']df.iloc[:,0:3] - -
6选择行列 -df.loc['a':'c','A':'C']df.iloc[0:3,0:3] - -
 选择行列 -df.loc['a':'c',['A','C']]df.iloc[0:3,[0,2]] - -
 选择行列 -df.loc[['a','c'],'A':'C']df.iloc[[0,2],0:3] - -
 选择行列 -df.loc['a','A':'C']df.iloc[0,0:3] - -
7布尔索引df[b1],df[df.A>0]   行df.loc[b1,b2]df.iloc[b1,b2] - -
  df[df['B'].isin([6,7])]行b1=np.array([0,1,0,1,0],dtype=bool)b2=np.array([1,0,1,0],dtype=bool)
 注意:     
 df=pd.DataFrame(np.arange(20).reshape((5,4),order='F'),index=list('abcde'),columns=list('ABCD'))
 返回值:数值,系列,数据帧;当标签列表返回系列时,若想返回数据帧外加一层中括号。
 df[0]或df['a']错误用法;当有分号不能外加中括号;都可以查看设置数据。

 

 2.2.实例:

 

df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
index=[4, 5, 6], columns=['A', 'B', 'C'])
# 实例1:
df.loc[5].at['B'] # 获取标量值: 4
df.loc[5].iat[1]  # 获取标量值:4
df.iloc[1,1]      # 4
df.iat[1,1]=4     # 4# 实例2:
df.loc[dates[0]] # 按标签选择:获取第一行
df.iloc[2]       # 通过传递的整数的位置df.loc[:,['A','B']]          # 按标签选择:获取第A,B列
df.loc['20181015',['A','B']] # 按标签选择-减少返回对象的尺寸df.iloc[3:5,0:2]       # 通过整数切片
df.iloc[[1,2,4],[0,2]] # 通过整数位置位置列表# 实例3:使用isin()过滤方法
df2 = df.copy()
df2['D'] = ['one','two','three']
df2[df2['D'].isin(['two','three'])]
'''A  B  C  D
5  0  4  1  two
6 10 20 30  three'''# 实例4:布尔索引-使用单个列的值来选择数据。
df[df.B >=4 ]
#   A   B  C
# 5 0   4  1
# 6 10 20 30df.loc[[False, False, True]]#选取第3行
df.loc[df['B'] >4, ['C']]   #一个值返回为数据帧# 实例5:select_dtypes() 选择显示特定数据类型
# 要选择所有数字和布尔列,同时排除无符号整数:
df.select_dtypes(include=['number', 'bool'], exclude=['unsignedinteger'])# 实例6:按可调用选择
# .loc,.iloc以及[]索引也可以接受一个callable索引器。df.loc[lambda df: df.A > 0, :]    #获取第三行数据
df.loc[:, lambda df: ['A', 'B']]  #获取A,B列数据
df.iloc[:, lambda df: [0, 1]] #获取A,B列数据
df[lambda df: df.columns[0]]  #获取A列数据df.A.loc[lambda s: s > 0] #获取序列=10# 实例7:IX 已弃用
df.loc[df.index[[0, 2]], 'A']           # 获取第1,2行第A列数据
df.iloc[[0, 2],df.columns.get_loc('A')] # 获取第1,2行第A列数据
df.iloc[[0, 2],df.columns.get_indexer(['A','B'])] # 获取第1,2行第A,B列数据# 实例8:设置数据
df[['B', 'A']] = df[['A', 'B']]       #就地修改
df.loc[:,['B', 'A']] = df[['A', 'B']] #不会修改
# 交换列值的正确方法是使用原始值:
df.loc[:,['B', 'A']] = df[['A', 'B']].values

 

 

这篇关于pandas 6 - 索引切片选择( tcy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829076

相关文章

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM

StarRocks索引详解(最新整理)

《StarRocks索引详解(最新整理)》StarRocks支持多种索引类型,包括主键索引、前缀索引、Bitmap索引和Bloomfilter索引,这些索引类型适用于不同场景,如唯一性约束、减少索引空... 目录1. 主键索引(Primary Key Index)2. 前缀索引(Prefix Index /

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数