pandas中loc的用法?

在 Python 中,loc 是一个常用于 Pandas 数据库中 DataFrame 对象的方法,用于基于标签(label)对数据进行索引和选择操作;

1. 基本语法

DataFrame.loc[row_label, column_label]

  • row_label: 行标签,可以是单个标签、标签列表、切片对象或者布尔数组。
  • column_label: 列标签,可以是单个标签、标签列表、切片对象或者布尔数组。

2. 功能和用途

  • 选择单行或多行数据

    df.loc['row_label']
  • df.loc[['row_label1', 'row_label2']]
  • df.loc['row_label1':'row_label2'] # 使用标签范围进行选择
  • 选择单列或多列数据

    df.loc[:, 'column_label']
    df.loc[:, ['column_label1', 'column_label2']]
    df.loc[:, 'column_label1':'column_label2'] # 使用标签范围进行选择
  • 同时选择行和列

    df.loc['row_label', 'column_label']
    df.loc[['row_label1', 'row_label2']['column_label1', 'column_label2']] df.loc['row_label1':'row_label2', 'column_label1':'column_label2']
  • 使用布尔数组选择

    df.loc[df['column_label'] > 0]

    这种方法允许基于条件筛选来选择行。

3. 注意事项

  • 标签索引loc 方法使用行和列的标签进行索引,因此要确保标签存在于 DataFrame 中,否则会引发 KeyError。

  • 包含末端:与 Python 切片不同,loc 在选择范围时会包含末端,即包含指定的末端行和列。

示例1

假设有一个 DataFrame df

import pandas as pd

data = {

'A': [1, 2, 3, 4, 5],

'B': ['a', 'b', 'c', 'd', 'e'],

'C': [0.1, 0.2, 0.3, 0.4, 0.5]

}

df = pd.DataFrame(data, index=['X', 'Y', 'Z', 'W', 'Q'])

# 选择单行数据

 print(df.loc['X'])

# 选择单列数据

 print(df.loc[:, 'A'])

# 选择多行和多列数据

  print(df.loc[['X', 'Z'], ['A', 'C']])

# 使用布尔数组选择

  print(df.loc[df['A'] > 2])

示例2:在for循环中可以对指定行索引进行列的新增

for index,row in df.iterrows():  
   df.loc[index, '名称'] =Name
   df.loc[index, '地址'] = address
   df.loc[index, '地区'] = area_name

在以上示例中,loc 方法根据标签进行了不同类型的数据选择操作,这些操作涵盖了从简单的单行单列选择到复杂的条件筛选和范围选择。

通过 loc 方法,可以方便地在 Pandas 中对数据进行定位、检索和切片操作,特别适合于基于标签进行数据访问和修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值