pandas中的 loc的使用(pandas.DataFrame.loc)
api参考:
其他:
例子:
一、获取值
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],index=['cobra', 'viper', 'sidewinder'],columns=['max_speed', 'shield'])
>>> dfmax_speed shield
cobra 1 2
viper 4 5
sidewinder 7 8
1、单一标签。请注意,这会将行作为系列返回。
>>> df.loc['viper']
max_speed 4
shield 5
Name: viper, dtype: int64
2、标签列表。注意 using[[ ]]返回一个 DataFrame。
>>> df.loc[['viper', 'sidewinder']]max_speed shield
viper 4 5
sidewinder 7 8
3、行和列的单一标签
>>> df.loc['cobra', 'shield']
2
4、带有行标签和列标签的切片。如上所述,请注意切片的开始和停止都包括在内。
>>> df.loc['cobra':'viper', 'max_speed']
cobra 1
viper 4
Name: max_speed, dtype: int64
5、与行轴长度相同的布尔列表
>>> df.loc[[False, False, True]]max_speed shield
sidewinder 7 8
6、可对齐布尔系列
>>> df.loc[pd.Series([False, True, False],index=['viper', 'sidewinder', 'cobra'])]max_speed shield
sidewinder 7 8
7、索引(与 相同的行为df.reindex)
>>> df.loc[pd.Index(["cobra", "viper"], name="foo")]max_speed shield
foo
cobra 1 2
viper 4 5
8、返回布尔系列的条件
>>> df.loc[df['shield'] > 6]max_speed shield
sidewinder 7 8
9、返回指定列标签的布尔系列的条件
>>> df.loc[df['shield'] > 6, ['max_speed']]max_speed
sidewinder 7
10、返回布尔系列的可调用对象
>>> df.loc[lambda df: df['shield'] == 8]max_speed shield
sidewinder 7 8
二、设置值
1、为与标签列表匹配的所有项目设置值
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> dfmax_speed shield
cobra 1 2
viper 4 50
sidewinder 7 50
2、为整行设置值
>>> df.loc['cobra'] = 10
>>> dfmax_speed shield
cobra 10 10
viper 4 50
sidewinder 7 50
3、为整列设置值
>>> df.loc[:, 'max_speed'] = 30
>>> dfmax_speed shield
cobra 30 10
viper 30 50
sidewinder 30 50
4、为匹配可调用条件的行设置值
>>> df.loc[df['shield'] > 35] = 0
>>> dfmax_speed shield
cobra 30 10
viper 0 0
sidewinder 0 0
三、使用具有整数标签的索引获取 DataFrame 上的值
1、使用整数作为索引的另一个示例
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],index=[7, 8, 9], columns=['max_speed', 'shield'])
>>> dfmax_speed shield
7 1 2
8 4 5
9 7 8
2、用整数标签为行切片。如上所述,请注意切片的开始和停止都包括在内。
>>> df.loc[7:9]max_speed shield
7 1 2
8 4 5
9 7 8
四、使用 MultiIndex 获取值
1、使用带有 MultiIndex 的 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)
>>> dfmax_speed shield
cobra mark i 12 2mark ii 0 4
sidewinder mark i 10 20mark ii 1 4
viper mark ii 7 1mark iii 16 36
2、单一标签。请注意,这将返回一个带有单个索引的 DataFrame。
>>> df.loc['cobra']max_speed shield
mark i 12 2
mark ii 0 4
3、单索引元组。请注意,这将返回一个系列。
>>> df.loc[('cobra', 'mark ii')]
max_speed 0
shield 4
Name: (cobra, mark ii), dtype: int64
4、行和列的单一标签。与传入元组类似,这将返回一个系列。
>>> df.loc['cobra', 'mark i']
max_speed 12
shield 2
Name: (cobra, mark i), dtype: int64
5、单元组。注意 using[[ ]]返回一个 DataFrame。
>>> df.loc[[('cobra', 'mark ii')]]max_speed shield
cobra mark ii 0 4
6、索引的单个元组,列的单个标签
>>> df.loc[('cobra', 'mark i'), 'shield']
2
7、从索引元组切片到单个标签
>>> df.loc[('cobra', 'mark i'):'viper']max_speed shield
cobra mark i 12 2mark ii 0 4
sidewinder mark i 10 20mark ii 1 4
viper mark ii 7 1mark iii 16 36
8、从索引元组切片到索引元组
>>> df.loc[('cobra', 'mark i'):('viper', 'mark ii')]max_speed shield
cobra mark i 12 2mark ii 0 4
sidewinder mark i 10 20mark ii 1 4
viper mark ii 7 1
参考官方文档。
pandas中的 loc的使用(pandas.DataFrame.loc)相关推荐
- pandas中强大的绘制图表功能——DataFrame.hist(),以及统计分析函数——DataFrame.describe()
pandas中具有很多很强大的图表绘制功能,今天介绍一个简单好用的绘制数据框DataFrame中某一列数据分布直方图的函数--DataFrame.hist(),顺便介绍一个统计分析函数DataFram ...
- pandas中的 fillna使用(pandas.DataFrame.fillna)
api参考: fillna: 使用指定的方法填充 NA/NaN 值. >>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],[3, 4, np. ...
- pandas中的DataFrame数据结构
pd.DataFrame() DataFrame 是一种二维的数据模型,相当于EXcel表格中的数据,有横竖两种坐标,横轴用columns,竖轴用index 来确定,在建立DataFrame 对象的时 ...
- 【Python】Pandas中的宝藏函数-applymap
applymap的用法比较简单,会对DataFrame中的每个单元格执行指定函数的操作,虽然用途不如apply广泛,但在某些场合下还是非常有用的. applymap()是与map()方法相对应的专属于 ...
- 结合Pandas中的多个数据集
目录 介绍 连接DataFrames 合并DataFrames 摘要 大多数数据分析不是在单个系统或数据集上进行的,因此在此步骤中,我们着眼于组合多个数据集以提供更大的数据图. 下载CSV和数据库文件 ...
- 纠正Pandas中的缺失数据
目录 介绍 查找丢失的数据元素 使用drop和dropna删除缺少的Pandas列 丢掉丢失的Pandas行 替换值 摘要 将数据加载到灵活的结构后,我们需要确定如何处理丢失和重复的数据元素. 下载C ...
- 将CSV和SQL数据加载到Pandas中
目录 介绍 从CSV加载数据 从SQLite加载数据 基本数据分析 总结 任何数据分析过程的第一步都是摄取数据集,评估数据集的清洁程度,并决定我们需要采取哪些措施来解决继承的问题. 下载CSV和数据库 ...
- Pandas中resample方法详解
Pandas中resample方法详解 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法.重新取样时间序列数据. 方便的 ...
- pandas中DataFrame的ix,loc,iloc索引方式的异同
pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...
- python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...
最新文章
- python_bomb----函数高级特性(生成器)
- 【已解决】GO语言开发中调用另一个库报错 cannot refer to unexported name XXXX
- docker run 原理
- python爬虫资源大全_Python爬虫抓取纯静态网站及其资源(基础篇)
- jpa 关联实体的关联实体_JPA实体锁定模式的差异
- fatal error C1010: unexpected end of file while looking for precompiled head
- 学习Web前端技术,掌握JavaScript这门语言是必须的
- script-百度换肤效果
- 给定一个数组,将所有的元素在一行里打印出来,中间以逗号分开
- 程序员和码农有什么不同?从这三个单词就看得出来
- 将地址转化为高德经纬度坐标
- 02_性能_内存调整_个人学习小结
- ctfshow七夕杯2022
- 《三国演义》之人物出场统计
- Nginx自建CDN加速节点 实现DNS智能解析网站项目
- Quartz Trigger状态转换
- 【找回linux管理员密码及linux文件目录指令】
- 科普!人人都爱Python,可Python为什么叫Python?
- 古月 ROS移动机器人实战5.3ROS导航框架介绍笔记
- centos7部署prometheus+exporter+grafana+Alertmanager+企业微信
热门文章
- 使用可空类型(Nullable)
- 正高级知识产权师、高级知识产权师、知识产权师职称给予20000元/人、10000元/人、5000元/人奖励
- LeetCode小白菜笔记[3]:Palindrome Number
- IE6使用技巧27则
- UWB DW1000 硬件设计
- 关于ArcGISPro镶嵌数据集导入多源大批量栅格数据出现空白情况的解决方案
- 域渗透分析神器BloodHound
- 逆向android-让你也能开发微信的xposed插件-手机root(一)
- 上手机器学习系列-第1篇-聊聊机器学习的正确打开姿势
- oracle 添加unique,oracle的unique约束