当前位置: 首页 > news >正文

【Pandas】pandas Series drop

Pandas2.2 Series

Computations descriptive stats

方法描述
Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有相同的索引
Series.case_when(caselist)用于根据条件列表对 Series 中的元素进行条件判断并返回相应的值
Series.drop([labels, axis, index, columns, …])用于从 Series 中删除指定的行或列(对于 Series 来说,通常是删除行)

pandas.Series.drop

pandas.Series.drop() 是 Pandas 库中的一个方法,用于从 Series 中删除指定的行或列(对于 Series 来说,通常是删除行)。它可以删除一个或多个标签(labels)对应的数据,并返回一个新的 Series,或者直接在原 Series 上进行修改(如果 inplace=True)。


方法签名
Series.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

参数详解
  1. labels:

    • 要删除的标签(行或列的索引)。
    • 可以是单个标签,也可以是标签列表。
    • 默认值:None
  2. axis:

    • 指定删除的方向。
    • 对于 Series,axis 只能是 0(默认值),表示删除行。
    • 默认值:0
  3. index:

    • 指定要删除的行标签。
    • 如果提供了 index,则会忽略 labels
    • 默认值:None
  4. columns:

    • 对于 Series,此参数无效(因为 Series 只有一列)。
    • 默认值:None
  5. level:

    • 如果 Series 的索引是多层索引(MultiIndex),则指定要删除的层级。
    • 默认值:None
  6. inplace:

    • 是否直接在原 Series 上进行修改。
    • 如果 True,则直接修改原 Series,并返回 None
    • 如果 False(默认值),则返回一个新的 Series。
    • 默认值:False
  7. errors:

    • 指定如何处理不存在的标签。
    • 如果 'raise'(默认值),则会抛出异常。
    • 如果 'ignore',则忽略不存在的标签。
    • 默认值:'raise'

返回值
  • 如果 inplace=False(默认),则返回一个新的 Series,其中删除了指定的标签。
  • 如果 inplace=True,则直接修改原 Series,并返回 None

示例及结果
示例 1:删除单个标签
import pandas as pd# 创建一个 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])# 删除标签为 'b' 的行
result = s.drop(labels='b')print("原 Series:")
print(s)
print("\n删除后的 Series:")
print(result)

结果:

原 Series:
a    10
b    20
c    30
d    40
dtype: int64删除后的 Series:
a    10
c    30
d    40
dtype: int64

示例 2:删除多个标签
import pandas as pd# 创建一个 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])# 删除标签为 'b' 和 'd' 的行
result = s.drop(labels=['b', 'd'])print("原 Series:")
print(s)
print("\n删除后的 Series:")
print(result)

结果:

原 Series:
a    10
b    20
c    30
d    40
dtype: int64删除后的 Series:
a    10
c    30
dtype: int64

示例 3:使用 index 参数删除行
import pandas as pd# 创建一个 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])# 使用 index 参数删除标签为 'a' 和 'c' 的行
result = s.drop(index=['a', 'c'])print("原 Series:")
print(s)
print("\n删除后的 Series:")
print(result)

结果:

原 Series:
a    10
b    20
c    30
d    40
dtype: int64删除后的 Series:
b    20
d    40
dtype: int64

示例 4:inplace=True 直接修改原 Series
import pandas as pd# 创建一个 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])# 删除标签为 'c' 的行,并直接修改原 Series
s.drop(labels='c', inplace=True)print("修改后的 Series:")
print(s)

结果:

修改后的 Series:
a    10
b    20
d    40
dtype: int64

示例 5:处理不存在的标签(errors='ignore'
import pandas as pd# 创建一个 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])# 尝试删除不存在的标签 'x',并忽略错误
result = s.drop(labels='x', errors='ignore')print("原 Series:")
print(s)
print("\n删除后的 Series:")
print(result)

结果:

原 Series:
a    10
b    20
c    30
d    40
dtype: int64删除后的 Series:
a    10
b    20
c    30
d    40
dtype: int64

注意事项
  1. 如果 labelsindex 中的标签不存在,且 errors='raise'(默认),则会抛出 KeyError
  2. 对于 Series,axis 参数只能是 0,因为 Series 只有一列。
  3. 如果需要对 DataFrame 进行操作,drop() 方法可以删除行或列(通过 axis 参数指定)。

通过 drop() 方法,可以方便地从 Series 中删除不需要的数据,同时保持数据的整洁性。


http://www.mrgr.cn/news/90600.html

相关文章:

  • CZML 格式详解,javascript加载导出CZML文件示例
  • HR告诉你,机器视觉公司招聘真相!
  • AI前端开发:跨领域合作的新引擎
  • 【DuodooBMS】江苏新材料行业重资产数字化管理解决方案——从传感器到平台的全链路智能升级,赋能新材料智造新范式
  • 《Python百炼成仙》21-30章(不定时跟新)
  • 若输入超过 5 位数个时,推荐使用 scanf 输入数据。
  • 深入剖析 Vue 的响应式原理:构建高效 Web 应用的基石
  • 一文深入了解DeepSeek-R1:模型架构
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter11-期约与异步函数
  • 【R语言】方差分析
  • GLM库需要VS2013及以上
  • 游戏引擎学习第101天
  • RabbitMQ使用guest登录提示:User can only log in via localhost
  • 编译和链接【四】链接详解
  • 逻辑分析仪的使用-以STM32C8T6控制SG90舵机为例
  • Linux系统调用
  • MySQL 入门大全:数据类型
  • DataBase【MySQL基础夯实使用说明(下)】
  • 浏览器网络请求全流程深度解析
  • Llama_Index核心组件介绍