• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

49 - 行级 - df.drop() - 删除行,清空

作者:

贺及楼

成为作者

更新日期:2024-07-21 12:36:48

drop()删除行,清空

清空,剩表头

  1. import numpy as np
  2. import pandas as pd
  3. df=df.drop(index=df.index) # 新表,新内存
  4. df.drop(df.index, inplace=True) # 改原表

删除行 drop

通过行名称删除:

  1. df = df.drop(['1', '2']) # 不指定axis默认为0,删除行
  2. df = df.drop("删除行名") # 不指定axis默认为0,删除行
  3. df.drop(['1', '3'], inplace=True)

通过行号删除:

  1. df.drop(df.index[0], inplace=True) # 删除第1行,index不会改变
  2. df.drop(df.index[0:3], inplace=True) # 删除前3行
  3. df.drop(df.index[[0, 2]], inplace=True) # 删除第1第3行

删除行 通过各种筛选方法实现删除行

详见pandas“选择行单元格,选择行列“的笔记

举例,通过筛选可以实现很多功能,例如要对某行数据去重,可以获取去重后的index列表后,使用loc方法:

  1. >>> df.loc['2','B']=9
  2. >>> df
  3. A B C D
  4. 1 0 1 2 3
  5. 2 4 9 6 7
  6. 3 8 9 10 11
  7. 4 12 13 14 15
  8. >>> chooses = df['B'].drop_duplicates().index
  9. >>> df.loc[chooses]
  10. A B C D
  11. 1 0 1 2 3
  12. 2 4 9 6 7
  13. 4 12 13 14 15

删除行

  1. # 列名的值 = 目标值,删除
  2. df[ ~ df['列名'].str.contains('目标值') ]
  3. # 列名的值 包含 目标值,删除
  4. df[ df['列名'].str.contains('目标值') ]