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)相关推荐

  1. pandas中强大的绘制图表功能——DataFrame.hist(),以及统计分析函数——DataFrame.describe()

    pandas中具有很多很强大的图表绘制功能,今天介绍一个简单好用的绘制数据框DataFrame中某一列数据分布直方图的函数--DataFrame.hist(),顺便介绍一个统计分析函数DataFram ...

  2. pandas中的 fillna使用(pandas.DataFrame.fillna)

    api参考: fillna: 使用指定的方法填充 NA/NaN 值. >>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],[3, 4, np. ...

  3. pandas中的DataFrame数据结构

    pd.DataFrame() DataFrame 是一种二维的数据模型,相当于EXcel表格中的数据,有横竖两种坐标,横轴用columns,竖轴用index 来确定,在建立DataFrame 对象的时 ...

  4. 【Python】Pandas中的宝藏函数-applymap

    applymap的用法比较简单,会对DataFrame中的每个单元格执行指定函数的操作,虽然用途不如apply广泛,但在某些场合下还是非常有用的. applymap()是与map()方法相对应的专属于 ...

  5. 结合Pandas中的多个数据集

    目录 介绍 连接DataFrames 合并DataFrames 摘要 大多数数据分析不是在单个系统或数据集上进行的,因此在此步骤中,我们着眼于组合多个数据集以提供更大的数据图. 下载CSV和数据库文件 ...

  6. 纠正Pandas中的缺失数据

    目录 介绍 查找丢失的数据元素 使用drop和dropna删除缺少的Pandas列 丢掉丢失的Pandas行 替换值 摘要 将数据加载到灵活的结构后,我们需要确定如何处理丢失和重复的数据元素. 下载C ...

  7. 将CSV和SQL数据加载到Pandas中

    目录 介绍 从CSV加载数据 从SQLite加载数据 基本数据分析 总结 任何数据分析过程的第一步都是摄取数据集,评估数据集的清洁程度,并决定我们需要采取哪些措施来解决继承的问题. 下载CSV和数据库 ...

  8. Pandas中resample方法详解

    Pandas中resample方法详解 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法.重新取样时间序列数据. 方便的 ...

  9. pandas中DataFrame的ix,loc,iloc索引方式的异同

    pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...

  10. python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...

最新文章

  1. python_bomb----函数高级特性(生成器)
  2. 【已解决】GO语言开发中调用另一个库报错 cannot refer to unexported name XXXX
  3. docker run 原理
  4. python爬虫资源大全_Python爬虫抓取纯静态网站及其资源(基础篇)
  5. jpa 关联实体的关联实体_JPA实体锁定模式的差异
  6. fatal error C1010: unexpected end of file while looking for precompiled head
  7. 学习Web前端技术,掌握JavaScript这门语言是必须的
  8. script-百度换肤效果
  9. 给定一个数组,将所有的元素在一行里打印出来,中间以逗号分开
  10. 程序员和码农有什么不同?从这三个单词就看得出来
  11. 将地址转化为高德经纬度坐标
  12. 02_性能_内存调整_个人学习小结
  13. ctfshow七夕杯2022
  14. 《三国演义》之人物出场统计
  15. Nginx自建CDN加速节点 实现DNS智能解析网站项目
  16. Quartz Trigger状态转换
  17. 【找回linux管理员密码及linux文件目录指令】
  18. 科普!人人都爱Python,可Python为什么叫Python?
  19. 古月 ROS移动机器人实战5.3ROS导航框架介绍笔记
  20. centos7部署prometheus+exporter+grafana+Alertmanager+企业微信

热门文章

  1. 使用可空类型(Nullable)
  2. 正高级知识产权师、高级知识产权师、知识产权师职称给予20000元/人、10000元/人、5000元/人奖励
  3. LeetCode小白菜笔记[3]:Palindrome Number
  4. IE6使用技巧27则
  5. UWB DW1000 硬件设计
  6. 关于ArcGISPro镶嵌数据集导入多源大批量栅格数据出现空白情况的解决方案
  7. 域渗透分析神器BloodHound
  8. 逆向android-让你也能开发微信的xposed插件-手机root(一)
  9. 上手机器学习系列-第1篇-聊聊机器学习的正确打开姿势
  10. oracle 添加unique,oracle的unique约束