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

【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.kler.cn/a/544463.html

相关文章:

  • [Java] Redis基础
  • LabVIEW与小众设备集成
  • #渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之获取省市区列表名称及收货地址列表展示
  • 细胞计数专题 | LUNA-FX7™新自动对焦算法提高极低细胞浓度下的细胞计数准确性
  • 从设计到生产,3D技术如何改变鞋业生态
  • 基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现
  • AI+智能中台企业架构设计_重新定义制造(46页PPT)
  • Javaweb中,使用Servlet编写简单的接口
  • 如何利用Spring的@Value注解实现配置信息的动态注入与管理?
  • flutter本地推送 flutter_local_notifications的使用记录
  • 十八、vben框架前端编码风格及标准
  • 2024年博客之星年度评选—主题文章创作评审文章得分公布
  • 苹果放弃DeepSeek选择阿里通义,近屿智能助您入局黄金AI领域
  • 本地部署DeepSeek后的调用与删除全攻略
  • AI前端开发:跨领域合作的新引擎
  • Linux运维——系统管理
  • DeepSeek批量生成全平台推广营销内容:高效提升营销效率
  • 【信息系统项目管理师-案例真题】2019下半年案例分析答案和详解
  • 在 python 中使用 toml