pandas Series 初体验

Series 是 pandas 中的一维数据结构,类似于带标签的数组。每个元素都有对应的索引(默认从 0 开始),支持自定义索引标签。

创建 Series

通过列表创建:

import pandas as pd
data = [10, 20, 30]
s = pd.Series(data)

通过字典创建(自动将键作为索引):

data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)

指定索引标签(长度需与数据一致):

s = pd.Series([10, 20, 30], index=['x', 'y', 'z'])

iloc 和 loc 的区别

ilocloc 是 Pandas 中用于数据索引的两种方法,但它们的用途和操作方式有显著差异。

iloc

  • 基于整数位置索引,遵循 Python 的切片规则(左闭右开)。
  • 语法:df.iloc[行索引, 列索引],索引可以是单个整数、列表或切片。
  • 示例:
    df.iloc[0:3, 1:4]  # 选择第0到2行,第1到3列
    df.iloc[[0, 2], [1, 3]]  # 选择第0和第2行,第1和第3列
    

loc

  • 基于标签索引,包含起始和结束位置(左闭右闭)。
  • 语法:df.loc[行标签, 列标签],标签可以是行/列名、列表或切片。
  • 示例:
    df.loc['row1':'row3', 'colA':'colC']  # 选择行标签从row1到row3,列标签从colA到colC
    df.loc[['row1', 'row3'], ['colA', 'colC']]  # 选择特定行和列
    

关键区别

  1. 索引类型

    • iloc:仅接受整数位置。
    • loc:接受行/列标签(如字符串、时间戳)。
  2. 切片行为

    • iloc:右边界不包含(如 0:3 包含0,1,2)。
    • loc:右边界包含(如 'a':'c' 包含a,b,c)。
  3. 布尔索引
    两者均支持布尔数组,但 loc 更常用于条件筛选:

    df.loc[df['colA'] > 0]  # 筛选colA大于0的行
    

使用

  • iloc 当数据顺序固定且需按位置访问时(如处理无标签的纯数值数据)。
  • loc 当需要按标签筛选或处理带名称的列/行时(如时间序列数据)。

    在 Pandas 中,Series 之间的四则运算(加、减、乘、除)可以通过直接使用运算符或对应方法实现,运算时会按索引对齐。以下是具体操作方法和注意事项:

    基本运算示例

    假设有两个 Series:

    import pandas as pd
    s1 = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
    s2 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
    

    加法
    直接使用 + 运算符或 add() 方法:

    s1 + s2
    # 或
    s1.add(s2)
    # 输出:a=11, b=22, c=33
    

    减法
    使用 - 运算符或 sub() 方法:

    s1 - s2
    # 或
    s1.sub(s2)
    # 输出:a=9, b=18, c=27
    

    乘法
    使用 * 运算符或 mul() 方法:

    s1 * s2
    # 或
    s1.mul(s2)
    # 输出:a=10, b=40, c=90
    

    除法
    使用 / 运算符或 div() 方法:

    s1 / s2
    # 或
    s1.div(s2)
    # 输出:a=10.0, b=10.0, c=10.0
    

    通过 fill_value 参数指定缺失值的默认值:

    s1.add(s3, fill_value=0)
    # 输出:a=11.0, b=20.0, c=30.0, d=2.0
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值