python iloc用法_pandas.DataFrame.loc和.iloc用法详解
.loc[ ]与.iloc[ ]用法详解
目录
pandas.DataFrame.loc pandas.DataFrame.iloc
注意
通过.loc[ ]或者.iloc[ ]获取数据时需要注意的是,使用[[ ]]返回值是DataFrame,而使用[]返回值则是pandas.core.series.Series
①pandas.DataFrame.loc
.loc[ ]用于通过行或列的标签或者boolean数组来访问DataFrame中的一组行和列。(可以获取值,改变值) 具体的使用方法在下方通过代码实现来理解。
获取数据更新数据进阶教程(多标签)
举个栗子
首先创建数据(df)
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
... index=['cobra', 'viper', 'sidewinder'],
... columns=['max_speed', 'shield'])
>>> df
max_speed shield
cobra 1 2
viper 4 5
sidewinder 7 8
获取数据
根据行标签获取DataFrame
>>> df.loc[['viper', 'sidewinder']]
max_speed shield
viper 4 5
sidewinder 7 8
根据行和列标签获取值(在此为numpy.int64)
>>> df.loc['cobra', 'shield']
2
使用切片
>>> df.loc['cobra':'viper', 'max_speed']
cobra 1
viper 4
Name: max_speed, dtype: int64
注意
此处的切片与通常的python切片不同,它包含了起始和结束
根据boolean数组获取行(True表示获取行,False表示不获取)
>>> df.loc[[False, False, True]]
max_speed shield
sidewinder 7 8
或者使用返回值为boolean的语句作为参数
>>> df.loc[df['shield'] > 6]
max_speed shield
sidewinder 7 8
也可以利用lambda关键字
>>> df.loc[lambda df: df['shield'] == 8]
max_speed shield
sidewinder 7 8
更新数据
设置整行的值
>>> df.loc['cobra'] = 10
>>> df
max_speed shield
cobra 10 10
viper 4 50
sidewinder 7 50
设置整列的值
>>> df.loc[:, 'max_speed'] = 30
>>> df
max_speed shield
cobra 30 10
viper 30 50
sidewinder 30 50
根据行和列设置值
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> df
max_speed shield
cobra 1 2
viper 4 50
sidewinder 7 50
进阶教程(多标签)
创建多标签DataFrame
>>> tuples = [
... ('cobra', 'mark i'), ('cobra', 'mark ... ii'),
... ('sidewinder', 'mark i'), ('sidewinder', 'mark ii'),
... ('viper', 'mark ii'), ('viper', 'mark iii')
... ]
>>> index = pd.MultiIndex.from_tuples(tuples)
>>> values = [[12, 2], [0, 4], [10, 20],
... [1, 4], [7, 1], [16, 36]]
>>> df = pd.DataFrame(values, columns=['max_speed', 'shield'], index=index)
>>> df
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
mark iii 16 36
单标签获取
>>> df.loc['cobra']
max_speed shield
mark i 12 2
mark ii 0 4
多标签获取
>>> df.loc[('cobra', 'mark ii')]
max_speed 0
shield 4
Name: (cobra, mark ii), dtype: int64
切片形式
>>> df.loc[('cobra', 'mark i'):'viper']
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
mark iii 16 36
>>> df.loc[('cobra', 'mark i'):('viper', 'mark ii')]
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
②pandas.DataFrame.iloc
.iloc[ ]用于通过行或列的索引(索引从0到len-1)或者boolean数组来访问DataFrame中的一组行和列。 具体的使用方法在下方通过代码实现来理解。
获取数据更新数据(与.loc[ ]相似,不再赘述)
举个栗子
创建数据(df)
>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
... {'a': 100, 'b': 200, 'c': 300, 'd': 400},
... {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
>>> df = pd.DataFrame(mydict)
>>> df
a b c d
0 1 2 3 4
1 100 200 300 400
2 1000 2000 3000 4000
获取数据
行索引获取行
>>> df.iloc[0]
a 1
b 2
c 3
d 4
Name: 0, dtype: int64
切片获取
>>> df.iloc[:3]
a b c d
0 1 2 3 4
1 100 200 300 400
2 1000 2000 3000 4000
根据boolean数组获取
>>> df.iloc[[True, False, True]]
a b c d
0 1 2 3 4
2 1000 2000 3000 4000
根据行和列索引获取值
>>> df.iloc[0, 1]
2
获取多行多列
>>> df.iloc[[0, 2], [1, 3]]
b d
0 2 4
2 2000 4000
python iloc用法_pandas.DataFrame.loc和.iloc用法详解相关推荐
- python字典转dataframe_python DataFrame转dict字典过程详解
python DataFrame转dict字典过程详解 这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习 ...
- python iloc函数_pandas入门——loc与iloc函数
oc与iloc函数 loc函数 import pandas as pd import numpy # 导入数据 df = pd.read_csv(filepath_or_buffer="D: ...
- python中iloc的详细用法_python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)...
df是一个dataframe,列名为A B C D 具体值如下: A B C D 0 ss 小红 8 1 aa 小明 d 4 f f 6 ak 小紫 7 dataframe里的属性是不定的,空值默认为 ...
- python iloc函数_python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
df是一个dataframe,列名为A B C D 具体值如下: A B C D 0 ss 小红 8 1 aa 小明 d 4 f f 6 ak 小紫 7 dataframe里的属性是不定的,空值默认为 ...
- python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
#2018-04-06 13:52:30 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘课程]二十一.朴素贝叶斯分类器详解及中文文本舆 ...
- python 自动化发送邮件_Python自动化必备发送邮件报告脚本详解
#!/usr/bin/python3 # -*- coding:UTF-8 -*- import smtplib #smtplib库主要用来连接第三方smtp库,用来发邮件 from email.mi ...
- python二元多次函数拟合_对python实现二维函数高次拟合的示例详解
在参加"数据挖掘"比赛中遇到了关于函数高次拟合的问题,然后就整理了一下源码,以便后期的学习与改进. 在本次"数据挖掘"比赛中感觉收获最大的还是对于神经网络的认识 ...
- python代码案例详解-我用Python抓取了7000 多本电子书案例详解
安装 安装很简单,只要执行: pip install requests-html 就可以了. 分析页面结构 通过浏览器审查元素可以发现这个电子书网站是用 WordPress 搭建的,首页列表元素很简单 ...
- python 命令-python解析命令行参数的三种方法详解
这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...
最新文章
- fastdfs java client_fastdfs-client-java操作fastdfs5.0.4
- 【自考】信息系统开发与管理(二)——章节详读
- 绝地求生现在服务器稳定吗,吃鸡服务器不稳定?《绝地求生》国服宣布将首次使用超性能服务器...
- hdu-acm steps FatMouse's Speed
- mac linux工具下载,xshell mac版
- centos7添加运行终端快键键
- 小猫的java基础知识点汇总(下)
- 学Python的女生好不好找工作?
- [面试]排列组合与概率计算(一)
- Android 编程下 ListView 和 CheckBox 混合使用时的常见问题
- 错误一例:expected expression before } token
- 面试技能之软知识(HR面试问题回答)
- python目标识别_10行Python代码实现目标检测
- yum故障之There are no enabled repos.
- C语言学习(2):enum枚举时出现的问题:
- 微前端在小米 CRM 系统的实践
- DaVinci:Camera Raw(CinemaDNG)
- 计算广告(1)---一些概念
- 2021计通网项目一问题记录
- 微型计算机vag是指,《微型计算机复习题》.docx
热门文章
- linux 笔记本 显卡驱动下载地址,linux笔记本上安装了双显卡驱动(intel+nvidia)
- python爬虫实现股票数据存储_Python 爬虫 | 股票数据的获取
- 表单提交验证,手机号码验证
- 小程序云开发实现登录与注册(附源码)
- bert获得词向量_BERT中的词向量指南
- 在JEECG-boot代码生成的基础上修改list页面(结合自定义的组件)
- ELK-Kibana
- python 切片用法_Python切片用法实例教程
- Windows安装Git
- 【无标题】计算重量之和