【Python】pandas:查看数据(head, tail, values属性, at, iat, loc, iloc, [ ], sample)

pandas是Python的扩展库(第三方库),为Python编程语言提供 高性能、易于使用的数据结构和数据分析工具。

pandas官方文档:User Guide — pandas 2.2.2 documentation (pydata.org)

帮助:可使用help(...)查看函数说明文档(若是第三方库的函数,需先导入库)。例如:help(pd.DataFrame)

补充:Series和DataFrame

  • Series索引标签(label):Series中index的内容,可通过Series.index查看索引标签。
  • Series索引位置(position):Series中index的隐藏下标,从0开始。
  • DataFrame索引标签(label):DataFrame中行索引标签为index的内容,可通过DataFrame.index查看行索引标签。列索引标签为columns的内容(即列名),可通过DataFrame.columns查看列索引标签。
  • DataFrame索引位置(position):DataFrame中index和columns的隐藏下标,都从0开始。

Python代码中,导入pandas:

import pandas as pd


(1)查看指定数据:head方法,  tail方法, values属性

Series:

  • Series.head():默认查看Series 前5个数据。
  • Series.head(num):查看Series 前num个数据。
  • Series.tail():默认查看Series 最后5个数据。
  • Series.tail(num):查看Series 最后num个数据。
  • Series.values:查看Series 所有数据。

DataFrame:

  • DataFrame.head():默认查看DataFrame 前5行数据。
  • DataFrame.head(num):查看DataFrame 前num行数据。
  • DataFrame.tail():默认查看DataFrame 最后5行数据。
  • DataFrame.tail(num):查看DataFrame 最后num行数据。
  • DataFrame.values:查看DataFrame 所有数据。


(2)查看单个数据:at, iat

Series:

  • Series.at(label):通过索引标签label查看单个数据。可赋值修改其数据。
  • Series.iat(position):通过索引位置position查看单个数据。可赋值修改其数据。

DataFrame:

  • DataFrame.at(行label, 列label):通过索引标签label从单行单列中查看单个数据。可赋值修改其数据。
  • DataFrame.iat(行position, 列position):通过索引位置position从单行单列中查看单个数据。索引位置position从0开始。可赋值修改其数据。


(3)查看指定数据:loc, iloc

Series:

  • Series.loc[label]:通过索引标签label查看数据。可赋值修改其数据。
  • Series.loc[ [label1, label2, ...] ]:查看多个索引标签label对应的数据。
  • Series.loc[ label1 : label2]:查看两个索引标签label之间的数据。若没有label1,则从第一个开始,若没有label2,则到最后一个。可赋值修改其数据。
  • Series.iloc[position]:通过索引位置position查看数据。可赋值修改其数据。
  • Series.iloc[ [position1, position2, ...] ]:查看多个索引位置position对应的数据。
  • Series.iloc[ position1 : position2]:查看两个索引位置position之间的数据。若没有position1,则从第一个开始,若没有position2,则到最后一个。可赋值修改其数据。
  • 注:索引位置position,从0开始。

  • Series.loc[bool]:通过布尔列表/数组获取对应的数据。可赋值修改其数据。
  • Series.iloc[bool]:通过布尔列表/数组获取对应的数据。可赋值修改其数据。

DataFrame:(loc)

  • DataFrame.loc[行label]:查看行索引标签label的整行数据。
  • DataFrame.loc[行label1 : 行label2]:查看行索引标签 label1到label2 之间连续的整行数据。若没有行label1,则从第一行开始,若没有行label2,则到最后一行。
  • DataFrame.loc[ [行label1, 行label2, ...] ]:查看行索引标签 label1、label2...的整行数据。
  • DataFrame.loc[ : , 列label]:查看列索引标签label的整列数据。
  • DataFrame.loc[ : , 列label1 : 列label2]:查看列索引标签 label1到label2 之间连续的整列数据。若没有列label1,则从第一列开始,若没有列label2,则到最后一列。
  • DataFrame.loc[ : , [列label1, 列label2, ...] ]:查看列索引标签 label1、label2...的整列数据。

  • DataFrame.loc[行label列label]:查看行索引标签label、列索引标签label的单个数据。
  • DataFrame.loc[ [行label1 行label2, ...], [列label1 列label2, ...] ]:查看行索引标签label1,label2...、列索引标签label1,label2...的数据。
  • DataFrame.loc[行label1 行label2列label1 列label2]:查看行索引标签 label1到label2、列索引标签 label1到label2 的数据。若没有行label1则从第一行开始,若没有行label2则到最后一行,若没有列label1则从第一列开始,若没有列label2则到最后一列。

  • DataFrame.loc[bool]:通过布尔列表/数组获取True的整行数据。
  • DataFrame.loc[ : , bool]:通过布尔列表/数组获取True的整列数据。
  • DataFrame.loc[bool列label相关]:通过布尔列表/数组获取True的行且部分列的数据。"列label相关":可以是单列、列表表示的多列、表示的连续的多列。

DataFrame.loc[...] 可修改数据。

DataFrame:(iloc)

  • DataFrame.iloc[行position]:查看行索引位置position的整行数据。
  • DataFrame.iloc[行position1 : 行position2]:查看行索引位置 position1到position2(不含)之间连续的整行数据。若没有行position1,则从第一行开始,若没有行position2,则到最后一行。
  • DataFrame.iloc[ [行position1, 行position2, ...] ]:查看行索引位置position1,position2...的整行数据。
  • DataFrame.iloc[ : , 列position]:查看列索引位置position的整列数据。
  • DataFrame.iloc[ : , 列position1 : 列position2]:查看列索引位置 position1到position2(不含)之间连续的整列数据。若没有列position1,则从第一列开始,若没有列position2,则到最后一列。
  • DataFrame.iloc[ : , [列position1, 列position2, ...] ]:查看列索引位置position1,position2...的整列数据。

  • DataFrame.iloc[行position列position]:查看行索引位置position、列索引位置position的单个数据。
  • DataFrame.iloc[ [行position1 行position2, ...], [列position1 列position2, ...] ]:查看行索引位置position1,position2...、列索引位置position1,position2...的数据。
  • DataFrame.iloc[行position1 行position2列position1 列position2]:查看行索引位置position1到position2(不含)、列索引位置position1到position2(不含)的数据。若没有行position1则从第一行开始,若没有行position2则到最后一行,若没有列position1则从第一列开始,若没有列position2则到最后一列。
  • 注:行/列索引位置position,都从0开始。

  • DataFrame.iloc[bool]:通过布尔列表/数组获取True的整行数据。
  • DataFrame.iloc[ : , bool]:通过布尔列表/数组获取True的整列数据。

DataFrame.iloc[...] 可修改数据。


补充:

DataFrame中loc和iloc共同点:

  • DataFrame.loc[行标签, 列标签],DataFrame.iloc[行位置, 列位置]。都是 [ 行, 列 ]
  • 行/列都可以单个,也可以使用列表表示多个,也可以使用 表示连续行或列。也可以使用布尔列表/数组。

DataFrame中loc和iloc区别:

  • loc通过行/列索引标签(label)获取数据。iloc通过行/列索引位置(position)获取数据。索引位置从0开始。
  • 连续行或列时,loc包含起始和结束标签的行/列。iloc包含起始行/列,不包含结束行/列。

(4)查看整列整行数据:[ ]

DataFrame.loc[...],DataFrame.iloc[...],都可以查看整列或整行数据。

  • DataFrame[列label]:查看列索引标签label的整列数据。
  • DataFrame[ [列label1, 列label2, ...] ]:查看列索引标签 label1、label2...的整列数据。
  • DataFrame[行position1 : 行position2]:查看行索引位置position1到position2(不含)的整行数据。若没有行position1,则从第一行开始,若没有行position2,则到最后一行。索引位置position从0开始。

DataFrame[条件]:通过条件筛选数据。

DataFrame[...] 可修改数据。


(5)随机查看数据:sample

sample(self: 'NDFrameT', n: 'int | None' = None, frac: 'float | None' = None, replace: 'bool_t' = False, weights=None, random_state: 'RandomState | None' = None, axis: 'Axis | None' = None, ignore_index: 'bool_t' = False) -> 'NDFrameT'

  • DataFrame.sample(num):默认axis=0,随机挑选num行数据。
  • DataFrame.sample(num, axis=1):axis=1,随机挑选num列数据。
  • DataFrame.sample(frac=指定权重, replace=True):默认axis=0,n=行数*权重(若n不为整数,向上取整),n次随机挑选1行数据。
  • DataFrame.sample(frac=指定权重, replace=True, axis=1):axis=1,n=列数*权重(若n不为整数,向上取整),n次随机挑选1列数据。

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值