pandas获取对应的行或者列方式

 更新时间:2024年02月24日 08:44:55   作者:小瓶盖的猪猪侠  
这篇文章主要介绍了pandas获取对应的行或者列方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

loc

通过标签或布尔数组访问一组行和列。

.loc[] 主要基于标签,但也可以与布尔数组一起使用。

允许的输入为:

  • 单个标签,例如’a’,
  • 标签列表或数组,例如。[‘a’, ‘b’, ‘c’]
  • 带有标签的切片对象,例如’a’:‘f’。
  • 与切片轴长度相同的布尔数组,例如。[True, False, True]
  • 可对齐的布尔系列。遮罩之前,键的索引将对齐。
  • 可对齐索引。返回的选择的索引将作为输入。

获取单行

为了获取当行,只需要利用行号就能够获取,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc["viper"])
max_speed    4
shield       5
Name: viper, dtype: int64

获取特定的几行

  • 可以将多个行号组成一个list,然后作为参数输入进去
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[["cobra",'sidewinder']])
            max_speed  shield
cobra               1       2
sidewinder          7       8
  • 利用切片获取多个连续的行

在利用切片时,也需要使用label进行切片,否则pandas不会识别

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[ 'viper': 'sidewinder'])
            max_speed  shield
viper               4       5
sidewinder          7       8

获取特定行和列

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[ 'viper','shield'])
5

也可以通过切片和列组合,获取特定的数值

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc['viper': 'sidewinder',:])
            max_speed  shield
viper               4       5
sidewinder          7       8

通过bool值进行选择

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[[False, False, True]]
            max_speed  shield
sidewinder          7       8

通过条件进行选择获取

通过条件获取,时间也是通过bool获取的一种特例,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[df['shield'] > 6]
            max_speed  shield
sidewinder          7       8

通过下面的结果,我们可以看出,通过条件获取后是一个对象,该对象的值就是一个bool列表,通过条件获取就是通过这个bool列表进行获取

>>> s = df['shield'] > 6
>>> type(s)
<class 'pandas.core.series.Series'>
>>> s.values
array([False, False,  True])

通过回调函数获取

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[lambda df: df['shield'] == 8]
            max_speed  shield
sidewinder          7       8

对数值进行修改

这里主要讲的是对数值的修改是永久性的,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> df
            max_speed  shield
cobra               1       2
viper               4      50
sidewinder          7      50

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于yolov5的一些简单说明(txt文件、训练结果分析等)

    关于yolov5的一些简单说明(txt文件、训练结果分析等)

    使用YOLOV5训练数据之后我们需要一些评判标准来告诉我们所训练的效果究竟如何,下面这篇文章主要给大家介绍了关于yolov5的一些简单说明,主要是txt文件、训练结果分析等的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python实现异常检测LOF算法的示例代码

    Python实现异常检测LOF算法的示例代码

    这篇文章主要为大家介绍一个经典的异常检测算法:局部离群因子(Local Outlier Factor),简称LOF算法。感兴趣的小伙伴可以跟随小编一起了解一下
    2022-03-03
  • Python爬虫实战演练之采集拉钩网招聘信息数据

    Python爬虫实战演练之采集拉钩网招聘信息数据

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python采集拉钩网招聘信息数据,大家可以在过程中查缺补漏,提升水平
    2021-10-10
  • 用Python编程实现语音控制电脑

    用Python编程实现语音控制电脑

    是否经常好莱坞电影里看强大的语音识别系统? 是否每每看到都会羡慕嫉妒恨? 可是我们真心买不起啊。
    2014-04-04
  • Python yield 使用方法浅析

    Python yield 使用方法浅析

    本篇文章主要介绍了Python yield 使用方法浅析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • pygame学习笔记(1):矩形、圆型画图实例

    pygame学习笔记(1):矩形、圆型画图实例

    这篇文章主要介绍了pygame学习笔记(1):矩形、圆型画图实例,本文讲解了pygame窗口、窗口退出、pygame中的颜色、圆形、矩形及一个完整实例,需要的朋友可以参考下
    2015-04-04
  • 利用python爬取软考试题之ip自动

    利用python爬取软考试题之ip自动

    最近为了考试打算抓取网上的软考试题,在抓取中遇到一些问题,下面这篇文章主要介绍的是利用python爬取软考试题之ip自动的相关资料,文中介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-03-03
  • python中[[]] * (n)和[[] for _ in range(n)]的区别详解

    python中[[]] * (n)和[[] for _ in 

    本文主要介绍了python中[[]] * (n)和[[] for _ in range(n)]的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • 详解利用python-highcharts库绘制交互式可视化图表

    详解利用python-highcharts库绘制交互式可视化图表

    本文主要和大家分享一个超强交互式可视化绘制工具-python-highcharts。python-highcharts就是使用Python进行Highcharts项目绘制,简单的说就是实现Python和Javascript之间的简单转换层,感兴趣的可以了解一下
    2022-03-03
  • Python导入txt数据到mysql的方法

    Python导入txt数据到mysql的方法

    这篇文章主要介绍了Python导入txt数据到mysql的方法,涉及Python操作txt文件及mysql数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04

最新评论