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

相关文章

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Pandas中多重索引技巧的实现

《Pandas中多重索引技巧的实现》Pandas中的多重索引功能强大,适用于处理多维数据,本文就来介绍一下多重索引技巧,具有一定的参考价值,感兴趣的可以了解一下... 目录1.多重索引概述2.多重索引的基本操作2.1 选择和切片多重索引2.2 交换层级与重设索引3.多重索引的高级操作3.1 多重索引的分组聚

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6